CodeIgniterはPHPフレームワークの中でも比較的シンプルでフレームワーク初学者にはCakePHPよりおすすめします。 動作も高速です。
composer.json
contributing.md
license.txt
readme.rst
user_guide(フォルダ)
サーバの任意のディレクトリ(この場合では ~/php_composer/ )へcomposerをインストールします。
cd ~/php_composer/
curl -sS https://getcomposer.org/installer | php
(インストール後に composer.phar のパスが表示されます。これがcomposerコマンドの場所です。)
.bash_profileなどにパスを追加 vi などで下記の行を追加します。
PATH="$PATH":~/php_composer/
bach を再起動したら「CodeIgniter Composer Installer」を使ってCodeIgniterをインストールします。
■ CodeIgniter Composer Installer https://github.com/kenjis/codeigniter-composer-installer
CodeIgniterをインストールしたディレクトリから以下を実行
composer.phar create-project kenjis/codeigniter-composer-installer codeigniter
$route['default_controller'] = 'welcome';
この行の 'welcome' を 'top' に変更します。
$route['default_controller'] = 'top'; // welcome → top に変更
ファイル名は「Top.php」(先頭は大文字)でなければいけません。
中身は以下のようにします。(クラス名「Top」先頭は大文字でなければいけません)
<?php
class Top extends CI_Controller {
public function index()
{
$this->load->view('topview');
}
}
とします。
拡張子は .php ですが 中身はHTMLファイルなので以下の様な内容にします。
<html>
<body>
<h1>test</h1>
</body>
</html>
ここで
http://localhost/codeigniter/index.php/Top
にアクセスしてテンプレートが表示されることを確認します。
今回 データベースにはsqlite3 を使用してみます。
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => APPPATH.'sqlite3/test.sqlite3',
'dbdriver' => 'sqlite3',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
$config['migration_enabled'] = TRUE; // FALSE → TRUE に変更
$config['migration_type'] = 'sequential'; // マイグレーション管理を「日付」→「連番」に変更
$config['migration_version'] = 1; // 現在のバージョン
<?php
class Migration_Create_table extends CI_Migration {
public function __construct(){
parent::__construct();
}
public function up(){
$this->dbforge->add_field(array(
'data_id' => array(
'type' => 'INT',
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'user_name' => array(
'type' => 'VARCHAR',
),
'modified_date' => array(
'type' => 'TEXT',
),
));
$this->dbforge->add_key('data_id', true);
$this->dbforge->create_table('user_dt');
}
public function down(){
$this->dbforge->drop_table('user_dt');
}
}
↑このファイルはSQL文で言うところの
CREATE TABLE mandolin_chord_dt (
data_id integer PRIMARY KEY NOT NULL,
user_name varchar NOT NULL,
modified_date text
);
になります。
<?php
class Migrate extends CI_Controller
{
public function index(){
$this->load->library('migration');
if ($this->migration->current() === FALSE){
show_error($this->migration->error_string());
}
}
}
codeigniter/application/sqlite3/test.sqlite3 が作成されていることを確認します
またテーブルも正しく作成されているかどうか確認します
codeigniterはデータベースへのアクセスクラスを持っています。 使い方は以下のとおり( test_dt から全件取得し表示する例。)
$this->load->database();
$this->db->from('test_dt');
$this->db->select('*');
$query = $this->db->get();
$data_loop = $query->result_array();
print_r($data_loop);
system/core/CodeIgniter.php
にバージョン記述があります。
CodeIgniter 3.0でPHPUnitを使う post http://blog.a-way-out.net/blog/2015/05/19/ci-phpunit-test/