CodeIgniter PHP MVC Framework

78 %
22 %
Information about CodeIgniter PHP MVC Framework
Education

Published on July 20, 2009

Author: appleboy

Source: slideshare.net

Description

How to use CodeIgniter PHP MVC Framework

CodeIgniter PHP MVC Framwork OSSF, 自由軟體鑄造場 ,Who's Who 吳柏毅 appleboy@OpenFoundry workshop

Taiwan Community http://phorum.study-area.org/ 酷 ! 學園 http://www.openfoundry.org/ OSSF, 自由軟體 鑄造場 http://whoswho.openfoundry.org/forum.html Who's Who

Who am I? I am appleboy (My nick name) 吳柏毅 Google appleboy keyword Blog: http://blog.wu-boy.com 酷學園: appleboy Ptt BBS: appleboy46 Twitter: appleboy Plurk: appleboy46

CodeIgniter Taiwan Community Irc: Freenode #CodeIgniter.tw http://ci.wuboy.twbbs.org/ 台灣官方網站 http://ci.wuboy.twbbs.org/forum/ 繁體中文討論區 http://ci.wuboy.twbbs.org/user_guide/ 繁體中文文件

Popular PHP MVC Framework Zend Framework CakePHP Symfony ( 少數 ) CodeIgniter ( 少數 ) Kohana was forked from CodeIgniter 1.5.4 in 2007 (support php5)

PHP Web Framework Performance ZendFramework, CodeIgniter, CakePHP With APC PHP code cache Url : http://avnetlabs.com/php/php-framework- comparison-benchmarks

Why Gallery3 use Kohana Framework Kohana was forked from CodeIgniter 1.5.4 in 2007. It base on PHP5. Zend Framework is 1705 files of framework code. It is 200-300% slower. ZF docs are comprehensive, but overwhelming and lacking in good examples making ZF development a very frustrating experience. CodeIgniter doesn't support exceptions, but Kohana has slightly worse performance than CI.

CodeIgniter is right for you if: You want a framework that does not require you to use the command line. You want a framework with a small footprint. You need exceptional performance. You need clear, thorough documentation.

CodeIgniter Features Model-View-Controller Based System PHP 4 Compatible Active Record Database Support Form and Data Validation Security and XSS Filtering Pagination Scaffolding Cache Large library of "helper" functions

Application Flow Chart

Model-View-Controller Model: help you retrieve, insert, and update information in your database. View: the information that is being presented to a user. Controller: an intermediary between the Model, the View any other resources needed to process the HTTP request and generate a web page

How to install it ? It is very easy Install Apache + PHP + MySQL ( Appserv ) Download CodeIgniter 1.7.1 Unzip it, and move CI directory to www Open your browser http://127.0.0.1

You got it

The system/ Folder Application Cache Codeigniter Database Fonts Helpers Language Libraries Logs Plugins

The system/application Folder Config Controllers Errors Helpers Hooks Language Libraries Models views

How to create multiple project Edit index.php $application_folder = "application"; $system_folder = "system"; Move CI Core to www.

Exercise Create two project. Foo Bar Use common CI Core If you want upgrade CI, you can replace CI Core directory.

Initial Configuration: config.php system/application/config/ $config['base_url'] = 'http://localhost/'; $config['index_page'] = ''; To make this work, you need to include an .htaccess file to the CodeIgniter root directory.

default settings $config['charset'] = “UTF-8”; $config['cache_path'] = ''; $config['permitted_uri_chars'] = 'a-z 0-9~%.:_-'; $config['log_date_format'] = 'Y-m-d H:i:s'; $config['global_xss_filtering'] = TRUE;

CodeIgniter URLs example.com/index.php/news/article/my_article news – Controller article – class function my_article - any additional segments If you do not use CodeIgniter, your urls is: example.com/news.php?mode=show&id=1

Removing the index.php file (Apache) By default, the index.php file will be included in your URLs: example.com/index.php/news/article/my_article using a .htaccess file with some simple rules Edit httpd.conf Unmark LoadModule rewrite_module modules/mod_rewrite.so RewriteEngine on RewriteCond $1 !^(index.php|images|robots.txt) RewriteRule ^(.*)$ /index.php/$1 [L]

Removing the index.php file (Lighttpd) Edit lighttpd.conf

Adding a URL Suffix Edit config/config.php file example.com/index.php/products/view/shoes example.com/index.php/products/view/shoes.htm l

Enabling Query Strings In some cases you might prefer to use query strings URLs: index.php?c=products&m=view&id=345 index.php?c=controller&m=method $config['enable_query_strings'] = FALSE; $config['controller_trigger'] = 'c'; $config['function_trigger'] = 'm'; Reduce the google search keywords

What is a Controller? example.com/index.php/blog/ Then save the file to your application/controllers/ folder

Controller Class names must start with an uppercase letter. In other words class Blog extends Controller { }

Functions example.com/index.php/blog/index/ example.com/index.php/blog/comments/

Function Calls $this->$method();

Passing URI Segments to your Functions example.com/index.php/products/shoes/sandals/ 123

Defining a Default Controller open your application/config/routes.php file and set this variable: $route['default_controller'] = 'Blog';

URI Routing: routes.php Routing rules are defined in your application/config/routes.php file example.com/class/function/id/ http://www.example.com/site/pages/4 http://www.example.com/about_us/ $route['about_us'] = “site/pages/4”; $route['blog/joe'] = "blogs/users/34";

Regular Expressions $route['products/([a-z]+)/(d+)'] = "$1/id_$2"; $route['default_controller'] = 'welcome';

Class Constructors In PHP4 In PHP5

Exercise Remote index.php with url. Write controller News News contains showNewsList and showNews function. Use $this->$method(); to call showNewsList and showNews function in index function, then echo 『 hello world 』。 Set upload directory value in Class Constructors $this->upload_folder = 'upload/news/';

Creating a View save the file in your application/views/ folder <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My Blog</title> </head> <body> <h1>Welcome to my Blog!</h1> </body> </html>

Loading a View $this->load->view('name'); example.com/index.php/blog/ <?php class Blog extends Controller { function index() { $this->load->view('blogview'); } } ?>

Loading multiple views <?php class Blog extends Controller { function index() { $data['page_title'] = 'Your title'; $this->load->view('header'); $this->load->view('menu'); $this->load->view('content', $data); $this->load->view('footer'); } } ?>

Storing Views within Sub-folders $this->load->view('folder_name/file_name'); folder_name is Controller name

Adding Dynamic Data to the View You can use an array or an object in the second parameter of the view loading function. $data = array( 'title' => 'My Title', 'heading' => 'My Heading', 'message' => 'My Message' ); $this->load->view('blogview', $data); $data = new Someclass(); $this->load->view('blogview', $data);

example <?php class Blog extends Controller { function index() { $data['title'] = "My Real Title"; $data['heading'] = "My Real Heading"; $this->load->view('blogview', $data); } } ?>

Creating Loops: Controller <?php class Blog extends Controller { function index() { $data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands'); $data['title'] = "My Real Title"; $data['heading'] = "My Real Heading"; $this->load->view('blogview', $data); } } ?>

Creating Loops: view <html> <head> <title><?php echo $title;?></title> </head> <body> <h1><?php echo $heading;?></h1> <h3>My Todo List</h3> <ul> <?php foreach($todo_list as $item):?> <li><?php echo $item;?></li> <?php endforeach;?> </ul> </body> </html>

Returning views as data $string = $this->load->view('myfile', '', true); When to use it?

Exercise Create application/views/header.php and footer.php 傳入任意值 n, m 到 function number($num_1, $num_2) ,輸出 n*1 ~n*m, output file application/views/output/index.php example.com/output/number/6/5 example.com/output/number/10/4

Helper Functions $this->load->helper('name'); to load the URL Helper file, which is named url_helper.php, you would do this: $this->load->helper('url');

Loading Multiple Helpers $this->load->helper( array('helper1', 'helper2', 'helper3'));

How to Auto-loading Helpers? To autoload resources, open the application/config/autoload.php file and add the item you want loaded to the autoload array $autoload['libraries'] = array('database','session','email','validation'); $autoload['helper'] = array('url','form','text','date','security'); $autoload['plugin'] = array('captcha'); $autoload['model'] = array(); $autoload['config'] = array();

Text Helper $string = "Here is a nice text"; $string = word_limiter($string, 4); // for English URL Helper base_url() anchor('news/local/123', 'My News'); Email Helper valid_email('email'); //return true/false send_email('recipient', 'subject', 'message')

CodeIgniter Libraries Language Class Input and Security Class Pagination Class Session Class URI Class Email Class Form Validation Class

Using CodeIgniter Libraries $this->load->library('class name'); Email Class $this->load->library('email'); $this->load->library('email'); $this->email->from('your@example.com', 'Your Name'); $this->email->to('someone@example.com'); $this->email->cc('another@another-example.com'); $this->email->bcc('them@their-example.com'); $this->email->subject('Email Test'); $this->email->message('Testing the email class.'); $this->email->send();

Input and Security Class Do not use isset $this->input->post('some_data'); The function returns FALSE (boolean) if the item you are attempting to retrieve does not exist. $this->input->post('some_data', TRUE); $this->input->get('some_data', TRUE); $this->input->get_post('some_data', TRUE);

Form Validation Setting Validation Rules $this->form_validation->set_rules('username', 'Username', 'required|min_length[5]|max_length[12]'); $this->form_validation->set_rules('password', 'Password', 'required|matches[passconf]'); $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required'); $this->form_validation->set_rules('email', 'Email', 'required| valid_email');

Form Validation Controller $this->form_validation->run(); return true / false Show error message <?=validation_errors();?> // add view html <?=form_error('user_name'); ?>

Exercise 建立新聞系統表單 表單內容:新聞標題,新聞內容,新聞日期,聯絡 人 email 利用 Form Validation 驗證表單

Creating Libraries Your library classes should be placed within your application/libraries folder File names must be capitalized. For example: Myclass.php Class declarations must be capitalized. For example: class Myclass Class names and file names must match.

The Class File <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Someclass { function display_error() { } function ErrMsg() { } } ?>

Using Your Class $this->load->library('someclass'); Once loaded you can access your class using the lower case version: $this->someclass->some_function(); // Object instances will always be lower case

Utilizing CodeIgniter Resources within Your Library $this->load->helper('url'); $this->load->library('session'); $this->config->item('base_url'); $this, only works directly within your controllers, your models, or your views.

If you would like to use CodeIgniter's classes from within your own custom classes you can do so as follows: First, assign the CodeIgniter object to a variable: $CI =& get_instance(); $CI->load->helper('url'); $CI->load->library('session');

Exercise Write your own Library and edit autoload.php file to auto load it. Write library class system_message, and it contains ErrMsg function. <script language=”javascript”> alert(“hello world”); history.go(-1); </script> Add another function.

What is a Model? model class that contains functions to insert, update, and retrieve your data. Model classes are stored in your application/models/ folder. Example: application/models/user_model.php class User_model extends Model { function User_model() { parent::Model(); } }

Loading a Model $this->load->model('Model_name'); if you have a model located at application/models/blog/queries.php you'll load it using: $this->load->model('blog/queries'); Auto-loading: Edit application/config/autoload.php

Example: controller loads a model class Blog extends Controller { function index() { $this->load->model('Blog'); $data['query'] = $this->Blog->get_last_ten_entries(); $this->load->view('blog', $data); } }

Database Configuration Edit: application/config/database.php $db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = ""; $db['default']['database'] = "database_name"; $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = FALSE; $db['default']['cache_on'] = FALSE;

Database Configuration $active_group = "default"; $active_record = TRUE;

Queries Original: $result = mysql_query($sql) or die (mysql_error()); CI: $query = $this->db->query('YOUR QUERY HERE'); $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; $this->db->query($sql, array(3, 'live', 'Rick')); Escaping Queries $this->db->escape($title);

Generating Query Results Result():This function returns the query result as an array of objects, or an empty array on failure. single result row: $query->row(); $query = $this->db->query("YOUR QUERY"); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { echo $row->title; echo $row->name; echo $row->body; } }

Generating Query Results result_array(): single result row: $query->row_array(); $query = $this->db->query("YOUR QUERY"); foreach ($query->result_array() as $row) { echo $row['title']; echo $row['name']; echo $row['body']; }

Result Helper Functions $query->num_rows() $query->free_result() $this->db->insert_id() $this->db->count_all(); echo $this->db->count_all('my_table'); $this->db->insert_string(); $data = array('name' => $name, 'email' => $email, 'url' => $url); $str = $this->db->insert_string('table_name', $data);

Result Helper Functions $this->db->update_string(); $data = array('name' => $name, 'email' => $email, 'url' => $url); $where = "author_id = 1 AND status = 'active'"; $str = $this->db->update_string('table_name', $data, $where);

Active Record Class It allows information to be retrieved, inserted, and updated in your database with minimal scripting. It also allows for safer queries, since the values are escaped automatically by the system

Selecting Data $query = $this->db->get('mytable'); Produces: SELECT * FROM mytable $query = $this->db->get('mytable', 10, 20); Produces: SELECT * FROM mytable LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax)

Selecting Data $this->db->select('title, content, date'); $query = $this->db->get('mytable'); // Produces: SELECT title, content, date FROM mytable

Selecting Data $this->db->select_max('age', 'member_age'); // Produces: SELECT MAX(age) as member_age FROM members $this->db->select_min('age'); $this->db->select_avg('age'); $this->db->select_sum();

Selecting Data $this->db->select('title, content, date'); $this->db->from('mytable'); $query = $this->db->get(); // Produces: SELECT title, content, date FROM mytable

Select join $this->db->join('comments', 'comments.id = blogs.id', 'left'); // Produces: LEFT JOIN comments ON comments.id = blogs.id Options are: left, right, outer, inner, left outer, and right outer.

$this->db->where('name', $name); // Produces: WHERE name = 'Joe' $this->db->where('name', $name); $this->db->where('status', $status); // WHERE name 'Joe' AND status = 'active' $this->db->where('name !=', $name); $this->db->where('id <', $id); // Produces: WHERE name != 'Joe' AND id < 45 $array = array('name !=' => $name, 'id <' => $id, 'date >' => $date); $this->db->where($array); $where = "name='Joe' AND status='boss' OR status='active'"; $this->db->where($where);

$this->db->where('name !=', $name); $this->db->or_where('id >', $id); // Produces: WHERE name != 'Joe' OR id > 50 $names = array('Frank', 'Todd', 'James'); $this->db->where_in('username', $names); // Produces: WHERE username IN ('Frank', 'Todd', 'James') $names = array('Frank', 'Todd', 'James'); $this->db->or_where_in('username', $names); // Produces: OR username IN ('Frank', 'Todd', 'James') $this->db->where_not_in(); $this->db->or_where_not_in();

$this->db->like('title', 'match', 'before'); // Produces: WHERE title LIKE '%match' $this->db->like('title', 'match', 'after'); // Produces: WHERE title LIKE 'match%' $this->db->like('title', 'match', 'both'); // Produces: WHERE title LIKE '%match%' $this->db->like('title', 'match'); $this->db->or_like('body', $match); // WHERE title LIKE '%match%' OR body LIKE '%match%' $this->db->not_like(); $this->db->or_not_like();

$this->db->group_by(array("title", "date")); // Produces: GROUP BY title, date $this->db->order_by("title", "desc"); // Produces: ORDER BY title DESC $this->db->order_by('title desc, name asc'); // Produces: ORDER BY title DESC, name ASC $this->db->order_by("title", "desc"); $this->db->order_by("name", "asc"); // Produces: ORDER BY title DESC, name ASC $this->db->limit(10, 20); // Produces: LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax)

Inserting Data $data = array( 'title' => 'My title' , 'name' => 'My Name' , 'date' => 'My date' ); $this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')

Updating Data $data = array( 'title' => $title, 'name' => $name, 'date' => $date ); $this->db->where('id', $id); $this->db->update('mytable', $data); // Produces: UPDATE mytable SET title = '{$title}', name = '{$name}', date = '{$date}' WHERE id = $id

Deleting Data $id = array('1', '2', '3'); $this->db->where_in('user_id', $id); $this->db->delete('mytable'); // Produces: DELETE FROM mytable WHERE user_id in (1, 2, 3)

Exercise Write news model which contains add_news, edit_news, update_news, get_last_entries function. add_news($data), edit_news($data), update_news($data), get_last_entries($num) Wirte Controller function to insert, update and select data with news model.

Scaffolding It feature provides a fast and very convenient way to add, edit, or delete information in your database during development. To set a secret word, open your application/config/routes.php file and look for this item: $route['scaffolding_trigger'] = '';

Enabling Scaffolding <?php class Blog extends Controller { function Blog() { parent::Controller(); $this->load->scaffolding('table_name'); } } ?> example.com/index.php/blog/abracadabra/

How to support it 繁體中文討論區 http://ci.wuboy.twbbs.org/forum/ 繁體中文線上文件 http://ci.wuboy.twbbs.org/user_guide/ CI Wiki http://codeigniter.com/wiki/Special:Titles 酷學園討論區 http://tinyurl.com/m8vjq7 PTT BBS PHP 討論版

Add a comment

Comments

 | 11/05/15
֧
http://www.xianjinduchang.cn/F_3 | 11/05/15
http://www.ctbzc.com/F_2/ | 11/05/15
http://www.dtg41r.com/sitemap.ht | 11/05/15
http://www.liuhetuku.cn/F_1/ | 11/05/15
http://www.ybcspx.com/F_4/ | 11/05/15
http://www.888zhenren888zr.cn/si | 12/05/15
http://www.huangjincheng.com.cn/ | 12/05/15
http://www.2s2n27.com/F_2/ | 12/05/15
û
http://www.vfusb9.com/sitemap.ht | 12/05/15
http://www.q926q2.com/F_1/ | 12/05/15
http://www.xin2yulecheng.com.cn/ | 12/05/15
http://www.888zhenren-888zr.com/ | 12/05/15
Ҫ
http://www.gangjingtuku.cn/F_3/ | 12/05/15
û
http://www.njnatuo.com/F_2/ | 12/05/15
http://www.jinshaqipaijsqp.com/s | 12/05/15
http://www.362yulecheng362ylc.co | 13/05/15
http://www.fuhaoyulechengfhylc.c | 13/05/15
 | 13/05/15
С
¦ | 13/05/15
http://www.2t99l0.com/F_2/ | 13/05/15
ɽ | 13/05/15
www.xingtang.org.cn | 13/05/15
http://www.huaxinyc.com/F_3/ | 13/05/15
http://www.xinhaoyulechengxhylc. | 13/05/15
http://www.365dsyy.com/sitemap.t | 13/05/15
http://www.sjbrad.com/sitemap.ht | 13/05/15
http://www.shyozdhkj.com/F_1/ | 13/05/15
http://www.yundingyulechengydylc | 14/05/15
ҽ
http://www.niuyueyulechengnyylc. | 14/05/15
http://www.shabatiyusbty.com/F_2 | 14/05/15
˵
http://www.zcmpw.com/F_3/ | 14/05/15
̰
http://www.hongyunguoji.com.cn/s | 14/05/15
http://www.yonglibo-ylb.com/F_1/ | 14/05/15
www.loufan.net.cn | 15/05/15
http://www.shenhuayulecheng.com. | 15/05/15
http://www.3hy9i8.com/sitemap.ht | 15/05/15
ҽ
http://www.xindongtaiduchangxdtd | 16/05/15
 | 16/05/15
http://www.weiyenayulecheng.com. | 16/05/15
 | 16/05/15
http://www.382em9.com/F_1/ | 17/05/15
http://www.i1kqz6.com/F_4/ | 17/05/15
http://www.quanqiuyulechengqqylc | 17/05/15
ǰ
http://www.manhadunyulecheng.cn/ | 17/05/15
http://www.baolongyulepingtaibly | 17/05/15
www.jxsichuang.com | 18/05/15
¡Ң | 18/05/15
http://www.tianzhongtuku.cn/F_1/ | 18/05/15
http://www.bogou-bodog.cn/F_3/ | 18/05/15
http://www.r4atx9.com/F_4/ | 18/05/15
www.sxtdqj.com | 18/05/15
 | 18/05/15
http://www.aomenduchang-amdc.com | 18/05/15
http://www.xin2yulechengx2ylc.co | 19/05/15
http://www.lanbojiniyulecheng.cn | 19/05/15
http://www.88duchang88dc.com/sit | 19/05/15
http://www.junboguojijbgj.com/F_ | 19/05/15
http://www.shishibo.net.cn/F_4/ | 19/05/15
www.feixuankj.com | 19/05/15
www.shenyangnews.net.cn | 19/05/15
http://www.88yule.net.cn/sitemap | 19/05/15
www.jxsichuang.com | 20/05/15
http://www.shenzhouyulecheng.cn/ | 20/05/15
 | 20/05/15
http://www.laokyulechenglkylc.co | 20/05/15
http://www.3vllqx.com/F_1/ | 20/05/15
http://www.mygsz.com/F_3/ | 20/05/15
http://www.dafapukeyulechengdfpk | 20/05/15
www.gymyc.com | 20/05/15
 | 21/05/15
http://www.ahbLf.com/F_2/ | 21/05/15
http://www.ppyulechengppylc.com/ | 21/05/15
12bet | 21/05/15
http://www.wzjujing.com/sitemap. | 21/05/15
http://www.bbin-asia.com.cn/site | 21/05/15
http://www.888zhenren888zr.cn/F_ | 21/05/15
www.bjjxgd.com | 21/05/15
 | 21/05/15
û
http://www.lilaiguojionline.cn/F | 21/05/15
http://www.kenboyulechengkbylc.c | 22/05/15
̫ | 22/05/15
http://www.y6biya.com/sitemap.tx | 22/05/15
www.tanghai.org.cn | 22/05/15
http://www.Lzjdwxw.com/sitemap.h | 22/05/15
http://www.kaixin8.org.cn/F_2/ | 22/05/15
www.Long-bund.com | 23/05/15
http://www.quanqiuyulechengqqylc | 23/05/15
www.guixi.org.cn | 23/05/15
http://www.visignse.com/F_3/ | 23/05/15
http://www.yingfengguoji.cn/site | 23/05/15
http://www.ruifengyulechengrfylc | 23/05/15
http://www.cshaoc.com/F_1/ | 23/05/15
http://www.g3guoji.cn/F_2/ | 23/05/15
www.4000668705.com | 23/05/15
www.999Loveyou.com | 24/05/15
www.yutian.org.cn | 24/05/15
ϲ
http://www.nnLxzjy.com/F_3/ | 24/05/15
http://www.k8wedx.com/sitemap.tx | 24/05/15
http://www.ctbzc.com/sitemap.htm | 24/05/15
http://www.zyLsf.com/F_1/ | 24/05/15
 | 24/05/15
 | 24/05/15
www.cixian.org.cn | 24/05/15
Ҫ
http://www.shijueyulechengsjylc. | 24/05/15
http://www.qianguiyulecheng.cn/F | 25/05/15
ΪʲôҪȥ
http://www.dzpzyy.com/sitemap.ht | 25/05/15
http://www.huangguanbifen.com.cn | 25/05/15
http://www.njjhhj.com/F_1/ | 25/05/15
 | 25/05/15
http://www.kenboyulechengkbylc.c | 25/05/15
http://www.jinguanyulejgyl.com/F | 25/05/15
˵
http://www.f0mvm8.com/sitemap.tx | 25/05/15
 | 26/05/15
http://www.zhenrenyule.net.cn/F_ | 26/05/15
http://www.shenboyule.net.cn/sit | 26/05/15
www.hbfLsm.com | 26/05/15
http://www.bozhidaoyulecheng.cn/ | 26/05/15
 | 26/05/15
http://www.zcysm.com/F_4/ | 27/05/15
www.mrssjy.com | 27/05/15
http://www.xayLex.com/sitemap.ht | 27/05/15
 | 27/05/15
http://www.1tlzay.com/F_1/ | 27/05/15
http://www.dubo-db.com/F_2/ | 27/05/15
kk | 27/05/15
http://www.scLygogogo.com/sitema | 27/05/15
http://www.jjynkt.com/F_1/ | 27/05/15
û
www.027fck.com | 27/05/15
www.xinmi.org.cn | 27/05/15
Dibutyl Phthalate | 27/05/15
The company main business is further process the petrochemical production, with 8 production lines of ten-thousand-ton capacity for C9 and C10 separators, thermal & cold polymerization petroleum resin, petroleum naphthalene, tar and thousand-ton capacit Dibutyl Phthalate http://www.hbjwhr.com/
http://www.modinghuangjinduchang | 27/05/15
http://www.27lms7.com/F_4/ | 28/05/15
www.xiLaigeng.com | 28/05/15
http://www.hengjiedhj.com/F_3/ | 28/05/15
http://www.bsqparty.com/F_2/ | 28/05/15
 | 29/05/15
http://www.adnwcp.com/F_6/ | 29/05/15
http://www.shalong365sl365.com/F | 29/05/15
http://www.cdyuxiang.com/sitemap | 29/05/15
ë
www.tsydsm.com | 29/05/15
http://www.2usaws.com/F_6/ | 30/05/15
 | 30/05/15
http://www.asjsnp.com/F_5/ | 30/05/15
http://www.ttyule.com.cn/sitemap | 30/05/15
 | 30/05/15
http://www.cdhwms.com/sitemap.tx | 30/05/15
http://www.jinshachengzhongxin.c | 30/05/15
http://www.uhh1u2.com/F_5/ | 30/05/15
58 | 30/05/15
 | 30/05/15
http://www.gdrxdq.com/sitemap.ht | 30/05/15
http://www.czxgxx.com/F_6/ | 31/05/15
http://www.mfzxfx.com/sitemap.tx | 31/05/15
Ů
 | 31/05/15
www.szzhengda.com | 31/05/15
www.cnLianguo.com | 31/05/15
http://www.16888pos.com/sitemap. | 31/05/15
֧
www.hnbzjt.com | 31/05/15
Ը
http://x4xjv9.blog.com/ | 31/05/15
̫
http://www.shijueyulechengsjylc. | 01/06/15
 | 01/06/15
 | 01/06/15
http://www.afutuku.cn/F_6/ | 01/06/15
www.xfbaoche.com | 01/06/15
http://www.huangguanxianjin.com. | 01/06/15
www.new7stars.com | 01/06/15
 | 02/06/15
http://www.ccweidi.com/F_6/ | 02/06/15
http://www.3j478j.com/sitemap.ht | 02/06/15
а
 | 02/06/15
http://www.czgosen.com/sitemap.t | 02/06/15
 | 02/06/15
http://www.xgzp68.com/F_6/ | 02/06/15
http://www.dafa888game.cn/sitema | 02/06/15
http://www.mfzxfx.com/sitemap.ht | 02/06/15
www.ahjLqh.com | 03/06/15
http://www.czwbjc.com/F_5/ | 03/06/15
Hydrocarbon Resin | 03/06/15
The company main business is further process the petrochemical production, with 8 production lines of ten-thousand-ton capacity for C9 and C10 separators, thermal & cold polymerization petroleum resin, petroleum naphthalene, tar and thousand-ton capacit Hydrocarbon Resin http://www.hbjwhr.com/
http://www.taiziyulechengtzylc.c | 03/06/15
Ů
 | 03/06/15
http://www.aomenzhenrenduchang.c | 03/06/15
 | 03/06/15
www.027fck.com | 03/06/15
http://www.hongbaoshiyulechanghb | 03/06/15
 | 03/06/15
̫
www.hst-wh.com | 03/06/15
http://www.cnLianguo.com/sitemap | 04/06/15
http://www.zuixinyulechengzxylc. | 04/06/15
 | 04/06/15
http://www.yynm360.com/sitemap.t | 04/06/15
http://www.scqLwh.com/sitemap.ht | 04/06/15
Сƨ
24Сʱ | 04/06/15
http://www.yyyulechengyyylc.com/ | 05/06/15
http://www.whkhoa.com/sitemap.tx | 05/06/15
www.shkezen.com | 05/06/15
http://www.maotaiyulechengmtylc. | 05/06/15
 | 05/06/15
http://www.hnbzjt.com/F_5/ | 05/06/15
http://www.m9micb.com/F_6/ | 05/06/15
 | 05/06/15
http://www.m9micb.com/sitemap.tx | 06/06/15
www.innmarry.com | 06/06/15
http://www.yndrjz.com/sitemap.ht | 06/06/15
www.gymyc.com | 06/06/15
ɵ
 | 06/06/15
һ
http://www.feixuankj.com/sitemap | 06/06/15
www.scLygogogo.com | 06/06/15
http://www.dLydmc.com/sitemap.tx | 06/06/15
http://www.baixiaojietuku.cn/sit | 06/06/15
 | 06/06/15
http://www.wmw9np.com/F_6/ | 06/06/15
 | 07/06/15
 | 07/06/15
http://www.vkbz6x.com/sitemap.tx | 07/06/15
http://www.sftoweL.com/sitemap.t | 07/06/15
http://www.weinisirenduchangwnsr | 07/06/15
www.kfkcck.com | 07/06/15
http://www.cnLianguo.com/sitemap | 08/06/15
888 | 08/06/15
ǿ
 | 08/06/15
http://www.jLdxb.com/F_6/ | 08/06/15
http://www.bogouyule.com.cn/site | 08/06/15
http://www.huangguan0088hg0088.c | 08/06/15
http://www.cdyuxiang.com/sitemap | 08/06/15
 | 08/06/15
 | 08/06/15
http://www.laopaiyulechenglpylc. | 08/06/15
http://www.hongyunguoji.com.cn/s | 08/06/15
http://www.aomenxinhaotiandi.com | 08/06/15
www.ahyxzx.com | 09/06/15
www.mt-coin.com | 09/06/15
http://www.pujingduchang-pjdc.co | 09/06/15
http://www.tianzhongtuku.cn/F_6/ | 09/06/15
www.ymzjn.com | 09/06/15
http://www.kenboyulechengkbylc.c | 09/06/15
 | 09/06/15
http://www.huangguanxianjin.com. | 09/06/15
http://www.humintuku.com.cn/F_6/ | 09/06/15
http://www.vkbz6x.com/F_5/ | 10/06/15
û
http://www.dfsjxx.com/sitemap.ht | 10/06/15
http://www.bjjjdc.com/sitemap.tx | 10/06/15
 | 10/06/15
һ
http://www.sanyaduchang.cn/F_6/ | 10/06/15
www.jLdxb.com | 10/06/15
http://www.Lswybg.com/sitemap.tx | 10/06/15
http://www.tiantangyulechengttyl | 10/06/15
http://www.aoboyulechengabylc.co | 10/06/15
 | 11/06/15
cheap shop | 24/05/16
A good example can be writing an account connected with a girl merely very rich together whatever this woman dreamed of though suddenlyor it is possible to carry the movement with the history through what harmful cycle to help you positive level, expressing which will awful times can still turn out to be good times... [url=https://www.smart-balancewheel.com]cheap shop[/url]
home | 26/05/16
Of those that have coeliac disease could certainly take in other starches just like brown rice, taters, millet, ingrown toenail in addition to amaranth. [url=http://www.betterscooter.com]home[/url]
home | 29/05/16
Yet through this $15million party, boss Ang Lee (SENSE In addition to Feeling, Crushed ice Hurricane) seems to have effortlessly made a schooling would include biology Japanese vigorous adorn and phase, by way of {American|United states|U . [url=https://www.hoverboardstop.com]home[/url]
home | 30/05/16
To be a young girl I actually experienced during the take enormous alloy leftovers from the neighborhood lose, and began a task regarding burnishing, trashing, turning, and then constructing. [url=https://www.smart-balancewheel.com]home[/url]
 | 27/09/18

Related presentations

Related pages

CodeIgniter Web Framework

CodeIgniter is a powerful PHP framework with a very small footprint, ... CodeIgniter encourages MVC, but does not force it on you. Exceptional performance.
Read more

Codeigniter MVC framework - EllisLab

2006: CodeIgniter was born. CodeIgniter is a powerful open-source PHP framework with a very small footprint, created by Rick Ellis in 2006. CodeIgniter was ...
Read more

PHP MVC Framework CodeIgniter Tutorial for Beginners ...

Learn how to use the Most Popular PHP MVC Framework and create the best applications, easily, securely and fast.
Read more

CodeIgniter and MVC - Courses

CodeIgniter • CodeIgniter is a PHP-based MVC framework that helps structure your code and make redundant tasks less tedious. • There are countless ...
Read more

CodeIgniter - Login & Einführung in Codeigniter - PHP-Dev

Einführung in MVC anhand eines Beispielentwurfs eines kleinen Logins mittels CodeIgniter. ... Einige von euch kennen sicherlich das PHP-Framework CodeIgniter.
Read more

CodeIgniter - Wikipedia

CodeIgniter is an open-source software rapid development web framework, for use in building dynamic web sites with PHP
Read more

CodeIgniter - Getting Started With MVC | FormGet

CodeIgniter is a PHP framework to develop web based application. It supports MVC architecture. Its effective modular approach and inbuilt libraries make the
Read more

Outsourcing Codeigniter Framework Germany

Wir sind ein IT Outsourcing Unternehmen mit Sitz in Indien. Wir sind spezialisiert auf CodeIgniter Entwicklung.
Read more

php - Codeigniter - Using RESTful web services in the MVC ...

I am fairly new to programming in php and learning as I go. I recently started using an MVC framework (codeigniter) and I am now trying to learn the use of ...
Read more