ホームページ >バックエンド開発 >PHPチュートリアル >php ci 基本的なアプリケーションを開発する

php ci 基本的なアプリケーションを開発する

WBOY
WBOYオリジナル
2016-08-08 09:19:301254ブラウズ

1. ci プロジェクトを構築します。http://codeigniter.org.cn/p この Web サイトにアクセスして、ci フレームワークをダウンロードします。現在、3.0.0 を使用しています。 (Web サイトに役立つ手順があります)

2. 以下に示すように、いくつかの使用できないファイルとディレクトリを削除した後:

php ci 基本的なアプリケーションを開発する

R&D は主にアプリケーション ディレクトリにあり、システム ディレクトリはフレームワーク ディレクトリです。 public ディレクトリは私が新しく作成したもので、主に js、css、画像を保存するために使用されます。

3. cssjsimages によって参照される CI 基本設定は、config ディレクトリの config.php にシステム変数を追加しました:

$config['asset_url'] = "http://127.0.0.1/";   //js\css\images访问地址,区分

4. デフォルトのアクセス コントローラー config/routes.php を設定します:

$route['default_controller'] = 'home';        //默认controller名称
$route['404_override'] = '';                 //404
$route['translate_uri_dashes'] = TRUE;

5. コントローラーの継承 Baseクラスメソッド。コア ディレクトリに新しい MY_Controller.php ファイルを作成します (ブログから直接ダウンロードできます)。 コードは次のとおりです。

<?php 
class MY_Controller extends CI_Controller{
	function  __construct(){
		parent::__construct();
	}
}

/**
 * 后台控制器基类方法,只要继承AdminBase
 * $this->uri->segment(1)  获取控制器名称
 * $this->uri->segment(2)  获取action名称
 */
class AdminBase extends MY_Controller{
	public $skip_filter = array();   //array( 'controller_name', 'controller_name' )  不用登录的页面
	public $data = array();
	function __construct() {
		parent::__construct();
                $this->data['infos'] = array();    //传递给前台页面的变量,变量名为infos
		$this->load->library('session');
		$this->load->library('layout');     //加载模板文件 libraries目录下
		if( !is_login() ){
			redirect('login/index');  //如果未登录跳转到登录页
		}
		
	}
	
	/**过滤方法*/
	public function is_login(){
		if( in_array($this->uri->segment(1), $skip_filter) ){  return true; }   //无需登录的控制器
		if( $this->session->has_userdata('user_id') ){   //判断是否登录
			//方法, 判断用户是否被封
			return true;
		}else{
			return false;
		}
	}
		
}
 
/*** 前面控制器基类方法,只要继承HomeBase**/
class HomeBase extends MY_Controller{
	function  __construct(){
		parent::__construct();
	}
}

6.1 レイアウト テンプレートを参照する方法 ライブラリ ディレクトリに新しい Layout.php ファイルを作成します。ブログの一番下からダウンロードできます。変更する箇所に注意してください:

$this->layout = 'layouts/' . $layout;   // 'layouts/' layouts为views目录,主要用来放模板的

6.2レイアウトは主にページ全体のテンプレートです:

php ci 基本的なアプリケーションを開発する

アンダースコアで始まる場合は部分コードです。文字で始まる場合はコードです。ページ全体のレイアウト (特徴: パブリック ファイルを繰り返し呼び出す必要がない、パブリック ファイルを変更するのに便利、レイアウトが明確など)。

index.php コードは次のとおりです:

 <div>
    
    	<?php 
				$this->load->view('layouts/_top_menu');    //头部开始
				$this->load->view('layouts/_left_menu');   //左边菜单开始
		?>
        <!--右边框架开始-->
        <div>
            <div  name="code">//$this->load->view('info/index', $this->data);    //未用模板文件 
$this->layout->view('info/index', $this->data);  //引用模板的写法 $this->data为传到view层能用的变量,如:$this->data = array('infos'=>array(), 'page'=>1) 表示:有两个变量,infos一个,page一个

上記は、PHP ci 開発の基本的なアプリケーションを内容の側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。