Tips

【CakePHP3入門】簡易掲示板サイトを作ろう! #1

【CakePHP3入門】簡易掲示板サイトを作ろう! #1

1.はじめに

PHPフレームワークのひとつであるCakePHPを使用して、簡易的な掲示板サイトを作成してみたいと思います。
第一回である今回は、ローカルの開発環境を作成してみましょう。

2.環境構築手順

①XAMPPのインストール
XAMPPインストールサイト

本連載はCakePHPに焦点を当てていきたいので、XAMPPの詳細に関しては割愛させて頂きます。
重要な部分は都度説明していこうとは考えています。
今回はとりあえず、php.iniを編集しましょう。intlで検索をかけてみてください。

● php.iniファイル
;extension=php_intl.dll
この行がコメントアウトされています。’;’を消して保存後、Apacheを再起動しましょう。

※”You must enable the intl extension to use CakePHP.”エラーはこの操作をしていないことに起因している可能性があります。

②CakePHPのダウンロード
CakePHPダウンロードサイト

基本的には、マニュアルの手順に沿っていけばダウンロードできるはずです。
まず、

>CakePHP の公式のインストール方法として、依存性管理ツール Composer を使用します。

とありますので、Composerをインストールします。

CakePHP1_1

XAMPPのコントロールパネルを開きます。

#cd htdocs
#curl -s https://getcomposer.org/installer | php

ここまで実行できたら、xampp/htdocsを開いてみましょう。composer.pharというファイルがありますね。
同じ階層にcomposer.jsonという名称のファイルを作成します。

● composer.jsonファイル
{
“require”: {
“monolog/monolog”: “1.2.*”
}
}

※これをやらないとvender/autoload.phpファイルが存在せず、下記のbakeでエラーになります。

もう一度xamppのシェルを開いてcomposer.pharが存在する階層にて、下記コマンドを実行します。

#php composer.phar create-project --prefer-dist cakephp/app [アプリケーション名]

と実行すると、簡単にCakePHPの開発環境を作成することができます。
今回は、bulletinというアプリケーション名で上記コマンドを実行します。

CakePHP1_2

xampp/htdocs配下にbulletinというフォルダが新規に作成されています。

CakePHP1_3

これがCakePHPの構成となっています。

 

3.CakePHP3でbakeしてみよう!

CakePHPには、簡単にMVCモデルのソースコードを生成してくれるコマンドが存在します。

まずはデータベースの準備をしていきましょう。
ブラウザでphpmyadminを開きます。(localhost/phpmyadminと入力。)

CakePHP用に新規のデータベースを作成しましょう。今回はcakedbという名称で作成します。

CakePHP1_5

rootのパスワードをtestに変更しておきます。

テーブルも作成しておきましょう。

CakePHP1_8

samplecakeテーブルを上図のように作成しました。

次に、bulletin/config/app.phpファイルを編集します。

● app.phpファイル
/*
‘Datasources’ => [
‘default’ => [
‘className’ => ‘Cake\Database\Connection’,
‘driver’ => ‘Cake\Database\Driver\Mysql’,
‘persistent’ => false,
‘host’ => ‘localhost’,
/**
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//’port’ => ‘non_standard_port_number’,
‘username’ => ‘root’,
‘password’ => ‘test’,
‘database’ => ‘cakedb’,
‘encoding’ => ‘utf8’,
‘timezone’ => ‘UTC’,
‘flags’ => [],
‘cacheMetadata’ => true,
‘log’ => false,
*/

ついでに、xamppのconfig.inc.phpを編集します。

● config.inc.phpファイル
$cfg[‘Servers’][$i][‘password’] = ‘test’;
このようにパスワード欄を入力してください。
※この操作をしていないと、phpmyadminにアクセスできなくなってしまいます。

変更して保存できたら、ブラウザでlocalhost/bulletinにアクセスしてみましょう。

CakePHP1_6

全ての項目にチェックが入っていることを確認します。

htdocs/bulletinにて、下記のコマンドを実行してみましょう。

#php bin/cake.php bake all samplecake

ちゃんとケーキが焼きあがっているか確認してみましょう。
bulletin/src/Controllerを開いてみてください。

CakePHP1_9

SamplecakeController.phpというファイルが作成されています。

ブラウザにて、localhost/bulletin/samplecakeにアクセスしてみましょう。

CakePHP1_10

どうやらテーブルの値を一覧表示する画面のようですね。

せっかくなんで、localhost/bulletin/samplecake/addにアクセスして適当に値を入れてSubmitしてみましょう。

CakePHP1_11

やりましたね!これで基本動作の確認をすることができるようになりました!

それでは次回に続きます!

WEBアプリケーション関連 人気連載リンク

基礎からPHPWEBアプリ解発を学ぶなら・・
PHP基礎 連載

より実践的なWEBアプリ開発講座!Bootstrap活用を学ぶなら・・
魁!小野の塾 連載

Recent News

Recent Tips

Tag Search