CakePHP

PHP

【PHP】CakePHPの入門(プロジェクト作成からHello World!の表示まで)

PHPのフレームワーク「CakePHP(CakePHP3)」でのプロジェクトの作成から、プログラミングの基本「Hello World!」を表示させるまでの流れをまとめました。

プロジェクトを作成

プロジェクトの作成はComposerを使って行う為、まずはComposerのインストールから行います。

 

Composerのインストール

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

composerを「/usr/local/bin」にインストールさせます。
# mv composer.phar /usr/local/bin/composer
※composer.pharを「/usr/local/bin」に置くことで、composerをどこからでも実行できるようになります。

composerがインストールされたかを確認します。
# composer --version
=============================================
Composer version 1.9.0 2019-08-02 20:55:32
=============================================
と表示されればOKです。

これで、composerのインストールは完了です。

 

プロジェクトの作成

次は、composerを使ってプロジェクトを作成します。

ドキュメントルートに移動します。
# cd /var/www/html

プロジェクトを作成します
今回は、プロジェクト名を「example」としておきます。
# composer create-project --prefer-dist cakephp/app example

もし、ここで以下のようなエラーが出た場合には、「php-intl」をインストールする必要があります。
You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.

php-intl」のインストールは、通常は以下のコマンドで行えます。
# yum install -y php-intl

ただ、環境によってもインストール方法が異なるので注意して下さい。

私の場合には、remiレポジトリを追加してPHPのインストールを行ったので、
以下のようにして「php-intl」をインストールしました。
# yum install -y --enablerepo=remi,remi-php73 php-intl

php-intl」のインストールが完了したら、
再度、プロジェクトの作成を試みてみます。

# composer create-project --prefer-dist cakephp/app example
を実行して、
エラーが出なければ、
Set Folder Permissions ? (Default to Y) [Y,n]?
と聞かれます。

ここは、「Y」を入力して、Enterして下さい。

Updated Security.salt value in config/app.php
と表示されれば、プロジェクトの作成まで完了です。

http://ドメイン名/example/
へアクセスして下さい。

以下の画面が表示されれば、OKです。
CakePHP プロジェクトのトップ画面

もし「.htaccess」が有効になっていない場合には、有効化しておいてください。

# vi /etc/httpd/conf/httpd.conf
で「httpd.conf」を開いて、
================================
<Directory "/var/www/html">

Allowoverride None

</Directory>
================================

================================
<Directory "/var/www/html">

Allowoverride All

</Directory>
================================
に変更して下さい。

Apacheを再起動すれば、「.htaccess」が有効になります。。
# systemctl restart httpd.service

「.htaccess」は、ほとんどのレンタルサーバーでは有効になっています。
が、自分でWEBサーバーのインストールまで行った場合、時々「.htaccess」が有効になっていないこともあります。

なので、プロジェクトの作成まで正常に完了したのに画面が表示されない場合には、「.htaccess」の設定も疑ってみて下さい。

 

Hello World!を表示

さっそく「Hello World!」と表示させるためのプログラムを作成します。

それでは、「Hello World!」の表示プログラムに必要なコントローラー(Controller)ビュー(View)を作成します。
コントローラーとビューは、共に「src」ディレクトリの中で作成します。

今回は、「example」というプロジェクト名で作成したので。
example/src/
の直下に「Controller」と「Template」というディレクトリがあります。

それらが、
それぞれコントローラービューを保存するディレクトリになります。

それでは、まずは、コントローラーを作成します。
コントローラー名は「HelloworldController」にします。

example/src/Controller/の中に「HelloworldController.php」というファイルを作成して、
以下を記述して下さい。

<?php

namespace App\Controller;

class HelloworldController extends AppController{
function index(){
$d = "Hello world!";
$this->set("d", $d);
}
}

次は、ビューの作成を行います。

example/src/Template/の中に「Helloworld」ディレクトリを作成します。

src/Template/Helloworld/の中にindex.ctpファイルを作成して、以下を記述して下さい。

<html>
<head>
<title><?php echo $d; ?></title>
</head>
<body>
<p><?php echo $d; ?></p>
</body>
</html>

それでは、
ブラウザ上から画面にアクセスしてみます。

http://ドメイン/example/helloworld/
にアクセスして、
以下の画面が表示されていればOKです。
CakePHP「Hello World」を表示

WordPress短期学習プログラム

関連記事

  1. PHP(ピー・エイチ・ピー)

    PHP

    Fatal error: Call to undefined function hash_hmac(…

    パスワードからハッシュ値を生成してDBに登録しようと、$pas…

  2. Security(セキュリティ)

    PHP

    PHP クッキー(Cookie)にセキュア属性(secure属性)を付与

    セキュリティの専門家の方からの指摘で、本日は、以前組んだシステ…

  3. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】mb_strlen()関数の注意点!!

    PHPでバイト数ではなく文字数を取得したい場合、mb_strlen…

  4. PHP(ピー・エイチ・ピー)

    PHP

    PHPでWarningエラーが!!

    PHPでこんなエラーが↓PHP Warning:  PHP Sta…

  5. Database(DB:データベース)

    PHP

    【phpPgAdmin】データ型に「integer」を指定

    phpPgAdminの管理画面から、データ型に「integer」を…

  6. PHP(ピー・エイチ・ピー)

    PHP

    新着情報の不具合

    お客さんから、ホームページに表示させている新着情報が表示されなくな…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. SEO関連タグ
  2. SEO関連タグ
  3. レンタルサーバー(共用サーバー)
  4. システム開発用のアイキャッチ
  5. システム開発用のアイキャッチ
  6. ドメイン 利用制限
  7. WP:WordPress(ワードプレス)
  8. システム開発用のアイキャッチ
  9. システム開発用のアイキャッチ
  10. Theme(テーマ)の選択
PAGE TOP