CakePHP Advent Calendar 2011 18日目 NetBeans環境でのCakePHP

cake_advent_2011_i

昨日の@nojimageさんのCakePHPで使えるテンプレートエンジンまとめ (CakePHP Advent Calendar 2011 17日目)に続いて、CakePHP Advent Calendar 2011の18日目の記事です。TALよさそうですよね!

こんにちは、@junichi_11です。はじめてのAdvent Calendar参加です。

PlanlessのままCakePHP Advent Calendarに参加してしまったので、ネタがありません。

NetBeansについては過去に書いているのですが、NetBeansで動く環境をつくってBlog Tutrialを実行してみたいと思います。

cake_advent_2011_1

IDEです。ここからダウンロードすることができます。こういうのって人によって使いやすいものが違うでしょうから、自分に合うものを使えばいいと思います。NetBeansなんて使わなくて、他のIDEやエディタを使う人の方が多いかもしれません(;´Д`)

cake_advent_2011_2

そんな方には、@EGMCさんのAdvent Calendar 11日目の記事を参考にしてください。

メンテナンスはされていないかもしれませんが、pluginとしてはCake Pâtissierというのを作られている人もいます。

cake_advent_2011_3

そんな方には、@k1LoWさんのcake.elを。

cake_advent_2011_4

そういう人には、@yuhei_kagayaさんのcake.vimを!使い方はここ([vim][cakephp]cake.vim使い方まとめ)を参照


さて、話をNetBeansに戻します。

ZendFrameworkやSymfonyはNetBeansで公式にサポートされていますが(そして7.1からはSmartyが公式にサポートされたのかな???)、CakePHPは公式にはサポートされていません。

しかし、githubにcakephp-netbeansなるpluginがあります。少し前にこれをforkして少し機能を付け加えました。中身は多分汚いです。

CakePHP1.xと2.0で使えるようにしましたが、CakePHP2のプラグインとして別のものにしたほうが良かったのかもしれません(^_^;)

このプラグンを使うと何ができるかというと、cakephpプロジェクトの作成、コマンドの実行などです。このプラグインはツンツン系の仕様になっています。
Clear Cacheを実行しても、「実行したって教えてあげないんだからねっ」といった感じに何も反応がありません。
Bake…の部分を実行しても「そんなの押しても、何も実行されないんだからねっ」といった感じです。

cakephp-netbeansの主な機能

参考記事:CakePHP + NetBeans cakephp-netbeans plugin


今回はNetBeansを使って3つのパターン

  • アーカイブのダウンロード
  • Git プラグインからclone
  • ターミナルから直接git clone

でCake Projectを作成して、その後にBlog Tutrialを実行してみたいと思います。

実行環境

  • Windows 7
  • XAMPP 1.7.?
  • NetBeans 7.0.1
  • CakePHP 2.0.4

準備

  1. XAMPPのインストール
    • MySQLの設定(文字コード)
  2. JDKのインストール
  3. NetBeansのインストール
  4. cakephp-netbeansのインストール(cakephp用のプラグイン)
  5. NetBeansの設定

Xamppのインストール

インストールの説明は省略します。ここではC:直下にインストールしたものとします。

文字コードの設定をしておきます。

C:\xampp\mysql\bin\myに以下を追記します。

JDKのインストール

ダウンロード:jdk-7u2

NetBeansのインストール

ダウンロード:NetBeans IDE

今回は7.0.1をインストールします。12月14日に7.1がリリースされる予定(現在7.1はRC2です)だったのですが、まだリリースされていないようです。

cakephp-netbeans puginのインストール

ダウンロード:cakephp-netbeans (Plugin Portal)

インストール:アーカイブをDL & 解凍後NetBeansのプラグインの追加([ツール] > [プラグイン])でnbmフォルダ内のorg-cakephp-netbeans.nbmファイルを指定します。警告メッセージが出ますが、構わずインストールします。cake_advent_2011_9cake_advent_2011_10

NetBeansの設定

PHPのパスを追加

[ツール] > [オプション] > [PHP | 一般]

cake_advent_2011_5

キーマップの設定

[ツール] > [オプション] > [キーマップ]

cake_advent_2011_6

ここでは次のように指定しました。登録したい部分をクリックして登録したいショートカットのキーをそのまま押せば大丈夫です。検索のところにphpと入力すればすぐに見つかると思います。

  • コマンドの実行: Alt + R
  • アクションまたはビューに移動: Alt + A

ここからCakePHPをインストールして使います。

以下ににダラダラと書いていますが、動画にしました。

ControllerからView側に切り替わっているのはAlt + Aを実行しています。

CakePHPのインストール(プロジェクトの作成)

アーカイブからインストール

これが一番気軽にCakePHPをインストールして使えると思います。

通常は次のような手順をとります。

  1. githubにアクセス
  2. 使用したいバージョンをダウンロード
  3. 任意の場所に解凍
  4. netbeans projectを作成

プラグインを使うといきなり4から始めることができます。(ただしインターネットが使える環境が必要です)プロジェクトを作成時にバージョンを選ぶだけで終わります。

[ファイル]
> [新規プロジェクト]
> [プロジェクトを選択](カテゴリ:PHP、プロジェクト:PHPアプリケーション)
> [名前と場所] プロジェクト名:cake2.0.4 ソースフォルダ:C:\xampp\htdocs\cake2.0.4
>[実行構成](あとで変更できるのでそのままでも大丈夫です)
>[PHPフレームワーク]Cake PHP Web Frameworkにチェック
>使いたいバージョンを選んで完了

cake_advent_2011_7

cake_advent_2011_8

参考:NetBeans CakePHP2.0を動かす環境を簡単につくる

Git プラグインを使ってインストール

[チーム] > [Git] > [Clone]

cake_advent_2011_11

url: git://github.com/cakephp/cakephp.git

cake_advent_2011_12

masterブランチの選択

master以外だとエラーになるような気がします。。。

cake_advent_2011_13

プロジェクトディレクトリとクローン名を指定します

cake_advent_2011_14

あとは通常のプロジェクトの作成です。

7.0.1だとmasterブランチを選択しないと何故かエラーになってしまいます。下記に書くターミナルからのインストールの方が問題なくインストールできると思います。

ターミナルからgitを使ってインストール

Windows環境でNetBeansのターミナルを使うには、Cygwinをインストールする必要があります。(Windows環境以外の方はCygwinのインストールはスルーしてください。)

インストールはsetup.exeを起動して、検索ウィンドウでgitと入力して必要なものにチェックを入れて完了です。それからsshも必要なら入れておくといいです。

参考

Cygwinのインストールが完了したら、

[ウィンドウ] > [出力] > [ターミナル]

でターミナルウィンドウを表示することができます。

あとは任意のディレクトリに移動して、

git clone git://github.com/cakephp/cakephp.git

を実行すればcakephpフォルダができるので、そのフォルダをプロジェクトの作成時に選べばOKです。

Blog Tutrialの実行

参考:http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/blog.html

データベースの作成

MySQLを起動しておきます。

リモート環境なら、WorkBenchから操作したほうがいいと思います。(参考: http://php-tips.com/server/2011/05/mysql-workbench-with-ssh-connection

ここではこういう機能もありますよということで、ローカルにNetBeansから作成してみます。

cake_advent_2011_15

データベース右クリック >MySQLサーバーを登録

cake_advent_2011_16

MySQLサーバー 右クリック > 接続

MySQLサーバー 右クリック > データベースを作成

cake_advent_2011_17

cake_advent_2011_19

cake右クリック > 接続

cake_advent_2011_20

接続したcakeで右クリック > コマンドの実行

cake_advent_2011_18

次のURLからSQL文をコピー・アンド・ペーストし、実行

http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/blog.html#creating-the-blog-database

データベースファイル(app/Config/database.php)の作成

上に書いたキーマップを設定していれば

Alt +R

を押せば、コマンドの実行画面になるので、bakeコマンドを選択して実行を押してください。

あとは、聞かれてきた内容を設定していくだけです。

cake_advent_2011_21

Bake

上と同様にコマンドの実行画面を開いて

bake project app
(bake project を選択して、パラメータにappといれます)

を実行※1。これを実行すれば、Security.saltとSecurity.cipherSeedの値を変更してくれます。続いて、

bake all

を実行してください。MVCを全部作ってくれます。

あとはapacheを起動して、

http://localhost/cake2.0.4/

にアクセスしてオールグリーンになっていることを確認したら、

http://localhost/cake2.0.4/posts

にアクセスすれば完了です。

Windows以外の環境であれば、パーミッションの設定がいるかと思います。

※1 通常は指定したパラメータの値の名前のappフォルダを作ってくれます。複数のアプリケーションを作りたい場合に有効だと思います。

http://cake2.0.4/やhttp://cake2.0.4/postsのようにアクセスしたければ、次の記事を参考にしてください。

参考:CakePHP Xamppで複数サイト管理(VirtualHost)


以下は、おまけというかその他の操作などです。

GUIでdatabase.phpを作成

通常は、database.phpがない場合、bakeすれば、CLIでdatabaseの設定になります。今回はお蔵入りにした機能を使います。

bakeは便利で楽しいのですが、1つ間違えると、1からやり直しになります。そこでGUIで実行できればいいのになぁって思って、visual bakeなる機能をつけようとしました。

しかし、Modelの情報が取りにくく、状況に応じてbakeでの応答が変わるのもあり、入出力でのやり取りがちゃんと合わないと、待ち状態になってしまい完全に動かなくなるので封印しました(^_^;)

ダウンロード: https://github.com/junichi11/cakephp-netbeans/tree/dev

Component,HelperやBehaviorの作成

pluginでテンプレートを用意しています。原因はわからないのですが、作成に少し時間がかかることがあります。

コード補完

参考:NetBeans + CakePHP Code Completion (コード補完)

CakePHP2.0からはcoreに@propertyの記述があるので、参考記事のようにしなくてもある程度補完できると思います。また、Controllerを個別にbakeするときに、ComponentやHelperを指定しておくと、自動で@propertyが埋め込まれます。
ただし、プラグインのComponent等を指定すると正しくないようなので、自分で修正が必要かもしれません。もしくは最初から参考のように使うのがはやいかもしれません。。。

リモート環境で開発とデバッグ

参考:NetBeans リモートからのPHPプロジェクト作成とデバッグ

wordpressでの例ですが、同じようにできると思います。

NetBeansの便利な機能

参考:NetBeans 好きな機能など。。。

NetBeansのPHPに関する情報

NetBeansのPHPに関する機能やリリース情報が公開されています。

興味がある方はフィードに登録しておけばよいかと思います。

PHP Advent Calendar 14日目の記事にある列をそろえるといったことも、NetBeans7.1から可能です(http://blogs.oracle.com/netbeansphp/entry/formatting_group_multiline_alignment_added)。

cakephp-netbeansプラグインを変更したい

NetBeansのサイトから、全て入ったものをDLして、少なくとも以下のものを選択して下さい。

  • ベースIDE
  • Java SE
  • PHP

その他

NetBeansのプラグインには次のようなものもあります。昨日の@nojimageさんの記事にも出ていたSmartyやTwigはPluginがあります。

Framework

  • Symfony Plugin
    Go To View / Go To Action、コマンドの実行などが可能
  • ZendFramework Plugin
    Go To View / Go To Action、コマンドの実行などが可能

Template

  • Smarty Plugin
    ハイライトなどが可能です
  • Twig Plugin

other

  • jVi Plugin
    vimのように使えます
  • Git Plugin
    gitの操作がGUIで可能です

他のPHPフレームワークのプラグインも自作することが可能です。ただしドキュメントがないので、既存のフレームワークのプラグインのコードを参照しながら作ることになると思います。

以上、Bakerになれないjunichi_11がおおくりいたしました。
なんだかごちゃごちゃしてしまって申し訳ないです(´・ω・`)

明日は@akiyanさんです。ブログはこちらだと思います。よろしくお願いします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください