Help us understand the problem. What is going on with this article?

codeigniterをcloud9で触ってみた①(環境構築編)

More than 1 year has passed since last update.

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

スクリーンショット 2018-03-27 11.07.39.png

phpmyadminのインストール

phpmyadminはインストールしなくてもいいのですが、データベース操作をわかりやすくできるので行います。インストールは簡単で下記のコマンドを実行するだけです。

phpmyadmin-ctl install

その後、DBの設定を変える必要があるので、test/application/config/database.phpの設定を下記のように変更します。
変更したのはusernameとdatabaseのところだけです。

database.php
$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

graffer
「テクノロジーの力で民主主義を拡張する」というヴィジョンのもと、インターネットとテクノロジーを活用し、様々な行政手続きを効率的に行える各種サービスを開発・提供しているスタートアップ企業です。
https://graffer.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away