codeigniter チュートリアル
codeigniterの使い方
サーチ…
備考
CodeIgniterはPHPで書かれたMVCフレームワークです。
これは他のMVCフレームワークに比べて軽量ですが、他のフレームワークの一部であるかもしれない認証システムが組み込まれていないなど、機能が少なくて済みます。
CodeIgniterは、コードの命名と構造に関する特定の標準を強制しないため、MVCを使い始めた人にとっては、優れたフレームワークの選択肢です。他のフレームワークに含まれる幅広い機能が必要ない大規模なプロジェクトにも適しています。
バージョン
バージョン | 発売日 |
---|---|
バージョンベータ1.0 | 2006-02-28 |
バージョン2.0.0 | 2011-01-28 |
バージョン2.2.0 | 2014-06-02 |
バージョン3.0.0 | 2015-03-30 |
バージョン3.1.3 | 2017-01-09 |
バージョンは3.1.4です | 2017-03-20 |
バージョンは3.1.5です | 2017-06-19 |
インストールとセットアップ
Windows環境
- XAMPPまたはWAMPをインストールする
- Codeigniter.comからパッケージをダウンロードして解凍する
- サーバースペース内のすべての文書を抽出する(htdocsまたはwwwディレクトリ)
Mac環境
- MAMPをインストールする
- Codeigniter.comからパッケージをダウンロードして解凍する
- サーバースペース内のすべてのドキュメントを抽出する(htdocs)
Linux環境
- Codeigniter.comからパッケージをダウンロードして解凍する
- 解凍したフォルダを/ var / www(WAMP内)またはxampp / htdocs(XAMPP)に置きます。
GitHub
git clone https://github.com/bcit-ci/CodeIgniter.git
システムに正しく従うと、以下の画面が表示されます。
ベースURL
-
application/config/config.php
移動しapplication/config/config.php
-
$config['base_url'] = 'http://localhost/path/to/folder';
としてベースURLを定義し$config['base_url'] = 'http://localhost/path/to/folder';
URLからindex.php
を削除する
Apacheの設定 |
---|
ルートに行く
htaccessファイルを作成する
その中に以下のコードを追加する
RewriteEngine on RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]
注:.htaccessコードはホスティングサーバーによって異なります。いくつかのホスティングサーバー(例:Godaddy)では余分なものを使用する必要があり?
上記のコードの最後の行にあります。該当する場合は、次の行が最後の行に置き換えられます。
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Nginxの設定 |
---|
nginx設定ファイルを開きます(デフォルトでは
/etc/nginx/sites-available/default
)その中に以下のコードを追加する
server { server_name domain.tld; root /path-to-codeigniter-folder; //you codeigniter path index index.html index.php; # set expiration of assets to MAX for caching location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { expires max; log_not_found off; } location / { # Check if a file or directory index file exists, else route it to index.php. try_files $uri $uri/ /index.php; } location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; } }
データベース構成
-
application/config/database.php
移動しapplication/config/database.php
- 次の構成変数を設定します。
- ホスト
- ユーザー名
- パスワード
- データベース名
- 港
デフォルトコントローラーを設定する
-
application/config/routes.php
移動しapplication/config/routes.php
- コントローラー名で以下の構成変数値を設定します。
- default_controller
オートロードライブラリとヘルパー
-
application/config/autoload.php
移動しapplication/config/autoload.php
-
$autoload['libraries'] = array('database', 'session');
ような自動ロード値を設定し$autoload['libraries'] = array('database', 'session');
-
$autoload['helper'] = array('url', 'file', 'form', 'html', 'text');
ようなヘルパーの値を設定し$autoload['helper'] = array('url', 'file', 'form', 'html', 'text');
1つのCIシステムで複数のアプリケーションを実行する
Codeigniterは、CIコアファイルを複製することなく、複数のプロジェクトを実行するように設定できます。
CIアプリケーション側を分割することで可能です。たとえば、 front-end
とback-end
コンテンツ管理システム(CMS)アプリケーションを含むWebサイトのプロジェクトを考えてみましょう。この場合、CIフォルダ構造は次のようになります。
フォルダ構造:
├── Codeigniter
│ ├── applications
│ │ ├─ front-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ ├─ back-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ │
│ ├── system
│ │ ├── core
│ │ ├── database
│ │ ├── helpers
│ │ └── ...
│ │
│ ├── index.php
└ └── backend.php
applications
フォルダでは、 front-end
とback-end
front-end
2つのフォルダを作成し、これらの2つのフォルダの下にapplications
すべてのデフォルトコンテンツをコピーしました。
また、 index.php
ファイルをrootフォルダの下にbackend.php
としてbackend.php
次に、アプリケーションのこの2つのインスタンスで動作するようにCI
を設定します。
Codeigniterの設定 :
オープンのindex.phpとbackend.phpファイルや更新application_folder
confgファイル:
//index.php
$application_folder = 'applications/front-end';
//backend.php
$application_folder = 'applications/back-end';
上記の設定が完了すると、CIは1つのCIシステムで2つのアプリケーションを実行できる状態になります。
example.com/Codeigniter/index.php
リクエストによりfront-end
アプリが開きexample.com/Codeigniter/index.php
example.com/Codeigniter/backend.php
リクエストによりback-end
アプリが開きexample.com/Codeigniter/backend.php
CodeIgniterファイルの場所を隠してセキュリティを強化する
CodeIgniterには、 システムとアプリケーションという 2つの主要なディレクトリがあります 。システムフォルダには、CodeIgniterの中核部分が含まれています。アプリケーションフォルダには、モデル、コントローラ、ビュー、その他の関連ライブラリを含む、アプリケーション固有のすべてのコードが含まれます。
CodeIgniterのインストール手順では、アプリケーションを保護するためにシステムフォルダとアプリケーションフォルダの両方をWebルートの上に配置し、ブラウザから直接アクセスできないようにする必要があります。デフォルトでは、.htaccessファイルは各フォルダに含まれており、直接アクセスを防止するのに役立ちますが、Webサーバーの構成が変更された場合や.htaccessに準拠していない場合は、パブリックアクセスから完全に削除することをお勧めします。
├── CodeIgniter
│ ├── application
│ ├── system
│ ├── wwwroot
│ │ ├── index.php
システムフォルダとアプリケーションフォルダを移動した後、メインのindex.php
ファイルを開き、 $system_path
、 $application_folder
変数を設定します。好ましくは/www/MyUser/system'
パス(例: ' /www/MyUser/system'
ます。しかし、相対パスは機能するはずです。
Linux / Apacheの場合:
$application_folder = './application';
$system_path = './system';
Windows / IISの場合:
$application_folder = '../application/';
$system_path = '../system/';