『CodeIgniter徹底入門』のサンプルアプリケーション(CodeIgniter v3.1版)
現在、CodeIgniterの開発は4.xに移っています。CodeIgniter4にアップグレードした、https://github.com/kenjis/ci4-tettei-apps を参照してください。
ここは『CodeIgniter徹底入門』(翔泳社)に含まれている以下のサンプルアプリケーション(CodeIgniter 1.6.1用)をCodeIgniter 3.xで動作するように更新したものです。
CodeIgniter 3.xで動作するように更新し、少しリファクタリングしました。
public
フォルダ以下に限定pre_system
に移動category
とproduct
テーブルのSeederを追加 application/database/seeds
MY_Controller
の追加追加されたComposerのパッケージ
https://github.com/kenjis/codeigniter-tettei-apps/archive/develop.zip をダウンロードし解凍します。
codeigniter-tettei-apps/public
フォルダが公開フォルダです。ここを http://localhost/CodeIgniter/ でアクセスできるように設定してください。
例えば、以下のようにApacheのhtdocs
以下にシンボリックリンクを張ります。
$ cd /paht/to/Apache/htdocs/
$ ln -s /path/to/codeigniter-tettei-apps/public/ CodeIgniter
なお、.htaccess
によるmod_rewriteの設定を有効にしてください。
必要な場合は、以下のフォルダにApacheから書き込みできる権限を付与してください。
$ cd /path/to/codeigniter-tettei-apps/
$ chmod o+w application/logs/
$ chmod o+w application/cache/
$ chmod o+w public/captcha/
Composerで依存パッケージをインストールします。
$ php composer.phar self-update
$ php composer.phar self-update --1
$ php composer.phar install --no-plugins
パッケージをupdateする場合
$ php -d memory_limit=-1 composer.phar update --no-plugins
MySQLにデータベースとユーザを作成します。
CREATE DATABASE `codeigniter` DEFAULT CHARACTER SET utf8mb4;
GRANT ALL PRIVILEGES ON codeigniter.* TO username@localhost IDENTIFIED BY 'password';
データベースにテーブルを作成し、テストデータを挿入します。
$ php cli migrate
$ php cli seed
$ composer test
テストカバー率のレポートはbuild/coverage
フォルダに作成されます。なお、カバー率の集計にはXdebugが必要です。
RuntimeException: Cannot modify header information - headers already sent by (output started at .../vendor/phpunit/phpunit/src/Util/Printer.php:113) on line 350 ... のようなエラーが出る場合
$ vendor/bin/phpunit -c application/tests/ --stderr
https://www.mozilla.org/ja/firefox/new/ よりFirefoxをダウンロードしインストールします。
Homebrewからselenium-server-standaloneとgeckodriverをインストールします。
$ brew install selenium-server-standalone
$ brew install geckodriver
Seleniumサーバを起動します。
$ selenium-server -port 4444
受入テストを実行します。
$ sh acceptance-test.sh
geckodriverが開けない場合は、一度Finderからgeckodriverを右クリックして開いてください。
参考: https://github.com/mozilla/geckodriver/issues/1629#issuecomment-650432816
書籍のコードほぼそのままでCodeIgniter 3.0.0に対応したものを見たい場合は、masterブランチをご覧ください。
また、具体的な変更点は以下をご覧ください。
サンプルアプリケーションのライセンスは「修正BSDライセンス」です。詳細は、docs/license-codeigniter-tettei-1.4.txt をご覧ください。
サンプルアプリケーションのデザインは、神野みちるさん(株式会社ステップワイズ)にしていただきました。