4月からエンジニアとして働くことになり、「CodeIgniter」というphpフレームワークを扱うことになりました!
学習のために、公式のチュートリアルをやってみました!理解を深めるという意味で、チュートリアルの解説を記事にしてみたいと思います。今回は、環境構築をメインに書きます。
#Codeigniterとは
Guthubのreadmeにはこう書かれていました。
CodeIgniter is an Application Development Framework - a toolkit - for people who build web sites using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.
他のフレームワークよりは、軽量であるのが特徴かと思います。チュートリアルをやるだけだったら、ターミナルを叩く必要もないので、phpを学習した後にフレームワークを学習するには、そんなに抵抗なく学習できるかなと思いました(自分はphpの学習をした後に、Laravelを学習したのですが、ターミナルの操作もおぼつかなかったので、苦労しました)
公式サイトはこちらです。ユーザーグループの方が翻訳をしてくれているので、かなり助かりました。
Githubはこちらです。スター数が15000を超えているので、突然メンテナンスしなくなるとはあまり考えにくいかと。ただし、最近流行りのLaravelは40000を超えているので、人気は少し落ち着いている印象です。
#環境構築
今回は学習することに集中したかったので、cloud9を使用します。ローカルの環境も汚れないので、意外と使っています。cloud9とはなんぞや?という方はこちらをご覧ください。
#バージョン
バージョンは下記のようになります。
codeigniter 3.1.8
→vendor/codeigniter/system/core/CodeIgniter.phpに記載あり
php 5.5.9
#インストール
php開発をする際に、ライブラリの依存関係を管理してくれるツールに「composer」というものがあります。公式で紹介されているインストール方法はZip形式でダウンロードするのですが、有志の方がcomposerでもインストールできるようにパッケージを用意してくれています!今回はこれを利用します。
cloud9を開いて、下記のコマンドを実行します。
最後の「test」はディレクトリ名になります。
$ composer create-project kenjis/codeigniter-composer-installer test
#homeディレクトリの設定
この設定をしないと下記のような画面が出ます。
なので、下記のコマンドを実行し、設定を下記のように変更します。
sudo vim /etc/apache2/sites-available/001-cloud9.conf
(修正前)DocumentRoot/home/ubuntu/workspace
(修正後)DocumentRoot /home/ubuntu/workspace/test/public
#phpmyadminのインストール
phpmyadminはインストールしなくてもいいのですが、データベース操作をわかりやすくできるので行います。インストールは簡単で下記のコマンドを実行するだけです。
phpmyadmin-ctl install
その後、DBの設定を変える必要があるので、test/application/config/database.phpの設定を下記のように変更します。
変更したのはusernameとdatabaseのところだけです。
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => getenv('C9_USER'),//変更
'password' => '',
'database' => 'c9',//変更
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
その後下記のコマンドを実行すれば、dbを触ることができます。
$ mysql-ctl start(mysqlの起動)
$ mysql-ctl cli(mysqlの画面)
次回、公式のチュートリアルの解説を記事にしたいと思います。
#参考記事
https://rdlabo.jp/codeigniter-302.php
https://qiita.com/HitomiHoshisaki/items/17912a872f8e71316ec2