tag:blogger.com,1999:blog-45341327512777459132024-03-09T02:12:52.126+09:00symfonyの奏でかたタイトルは少しパクリ。symfonyをさわってみたくなった人のブログTKhttp://www.blogger.com/profile/12498260623824514942noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-4534132751277745913.post-16468279180797208342008-05-18T10:27:00.001+09:002008-05-18T10:29:34.092+09:00symfony日本語ドキュメントのリンク先を変更Google Codeの中にあるsymfonyドキュメントの日本語翻訳のほうが<br />内容が良かったのでsymfony日本語ドキュメントのリンク先を変更しました。TKhttp://www.blogger.com/profile/12498260623824514942noreply@blogger.com0tag:blogger.com,1999:blog-4534132751277745913.post-52222959969255117262008-04-13T12:44:00.002+09:002008-04-13T12:51:31.883+09:00Symfonyコマンドの一覧<table summary="Symfony コマンド一覧表示"><caption>Symfonyコマンド一覧</caption><thead> <tr class="odd"> <th scope="col" abbr="Home">分類</th> <th scope="col" abbr="Home">コマンド</th> <th scope="col" abbr="Home">説明</th> </tr> </thead><tbody> <tr> <th class="column1" scope="row">基本</th> <td>symfony -V</td> <td>バージョン表示</td> </tr> <tr class="odd"> <th class="column1" scope="row">基本</th> <td>symfony -T</td> <td>コマンド一覧表示</td> </tr> <tr> <th class="column1" scope="row">開発環境作成</th> <td>symfony clear-chache</td> <td>キャッシュのクリア(省略形cc)</td> </tr> <tr class="odd"> <th class="column1" scope="row">開発環境作成</th> <td>symfony init-project [プロジェクト名]</td> <td>プロジェクト作成(省略形new)</td> </tr> <tr> <th class="column1" scope="row">開発環境作成</th> <td>symfony init-app [アプリケーション名]</td> <td>アプリケーション作成(省略形app)</td> </tr> <tr class="odd"> <th class="column1" scope="row">開発環境作成</th> <td>symfony init-module [アプリケーション名] [環境名]</td> <td>モジュール作成(省略形module)</td> </tr> <tr> <th class="column1" scope="row">開発環境作成</th> <td>symfony init-controller [アプリケーション名] [環境名] [*コントローラー名]</td> <td>コントローラ作成(省略形controller)</td> </tr> <tr class="odd"> <th class="column1" scope="row">開発環境作成</th> <td>symfony init-batch [defaultまたはrotate_log] [バッチファイル名] [アプリケーション名] [環境]</td> <td>バッチ作成(省略形batch)</td> </tr> <tr> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-build-schema</td> <td>既存データベースからschema.yml作成</td> </tr> <tr class="odd"> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-build-model</td> <td>schema.ymlからモデル作成</td> </tr> <tr> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-build-db</td> <td>データベースを作成</td> </tr> <tr class="odd"> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-build-sql</td> <td>schema.ymlからテーブル生成用SQL作成</td> </tr> <tr> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-insert-sql</td> <td>SQLからテーブルを作成</td> </tr> <tr class="odd"> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-build-all</td> <td>上の5つを全て行う。</td> </tr> <tr> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-dump-data [アプリケーション名] [出力ファイル名]</td> <td>データをyaml形式でバックアップ</td> </tr> <tr class="odd"> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-load-data [アプリケーション名]</td> <td>yaml形式のデータをDBにロードする。</td> </tr> <tr> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-build-all-load [アプリケーション名]</td> <td>build-allにload処理も追加したマクロ</td> </tr> <tr class="odd"> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-generate-crud [アプリケーション名] [モジュール名] [モデルクラス名]</td> <td>モデルからCRUDを自動生成</td> </tr> <tr> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-init-crud [アプリケーション名] [モジュール名] [モデルクラス名]</td> <td>モデルからCRUDの自動生成・初期化</td> </tr> <tr class="odd"> <th class="column1" scope="row">propel(DB関係)</th> <td>symfony propel-init-admin [アプリケーション名] [モジュール名] [モデルクラス名]</td> <td>モデルからDB管理画面の自動生成</td> </tr> <tr> <th class="column1" scope="row">テスト</th> <td>symfony test [アプリケーション名]</td> <td>テストの実行</td> </tr> <tr class="odd"> <th class="column1" scope="row">その他</th> <td>symfony fix-perms</td> <td>パーミッションを戻す</td> </tr> <tr> <th class="column1" scope="row">その他</th> <td>symfony clear-controllers</td> <td>テスト用のコントローラを削除</td> </tr> <tr class="odd"> <th class="column1" scope="row">その他</th> <td>symfony enable [アプリケーション名] [環境]</td> <td>特定のコントローラを有効にする</td> </tr> <tr> <th class="column1" scope="row">その他</th> <td>symfony disable [アプリケーション名] [環境]</td> <td>特定のコントローラを無効にする</td> </tr> <tr class="odd"> <th class="column1" scope="row">その他</th> <td>symfony freeze</td> <td>パッケージの作成</td> </tr> <tr> <th class="column1" scope="row">その他</th> <td>symfony sync [アプリケーション名] [環境]</td> <td>サーバー転送同期処理</td> </tr> <tr class="odd"> <th class="column1" scope="row">その他</th> <td>symfony purge-logs</td> <td>ログファイルの削除</td> </tr> <tr> <th class="column1" scope="row">その他</th> <td>symfony rotate-log [アプリケーション名] [環境]</td> <td>ログファイルのローテーション</td> </tr> </tbody></table>TKhttp://www.blogger.com/profile/12498260623824514942noreply@blogger.com0tag:blogger.com,1999:blog-4534132751277745913.post-61074550814316213712007-12-25T15:18:00.000+09:002007-12-25T15:24:39.334+09:00MySQL用の設定方法前提<br /><ol><li>MySQLをPHPから使用できるようphp.iniが設定されていること。</li><li>MySQLがセットアップされていること。<br /></li></ol><br /><h3>symfonyのpropelの設定(MySQL用)</h3>symfonyインストール後、symfonyコマンドでプロジェクト作成を行うとデータベース接続用にpropelの設定ファイルが作られます。<br /><blockquote><pre>[project-home]<br /> |----config<br /> |----databases.yml<br /> |----propel.ini<br /></pre></blockquote>それらを以下の設定に修正します。※databese名等の設定値は好きな値に変更してください。<br /><br /><span style="color:#ff6600;">databases.ymlの設定</span><br /><blockquote><pre> all: <br /> propel: <br /> class: sfPropelDatabase <br /> param: <br /> encoding: utf8 # 文字コード <br /> phptype: mysql # 使用するデータベースシステム <br /> host: localhost # ホスト名 <br /> database: sample # データベース名 <br /> username: root # 接続ユーザー名 <br /> password: root # 接続パスワード</pre></blockquote><span style="color:#ff6600;">propel.iniの設定(抜粋)</span><br /><blockquote><pre>propel.database = mysql<br />propel.database.createUrl = <span lang="EN-US">mysql://root:root@localhost/</span><br />propel.database.url = <span lang="EN-US">mysql://root:root@localhost/sample<br /></span>propel.mysql.tableType = InnoDB<span lang="EN-US"><br /></span><br />; directories<br />propel.home = .<br />propel.output.dir = d:projectphpsampleproject<br /></pre></blockquote>TKhttp://www.blogger.com/profile/12498260623824514942noreply@blogger.com0tag:blogger.com,1999:blog-4534132751277745913.post-66411968707816210092007-12-25T14:18:00.000+09:002007-12-25T15:22:01.258+09:00SQLite用の設定方法symfonyでは定番のMySQL以外にも、OracleやSQL Serverなどもデータベースとして使用できるらしいけど、<br />とりあえず個人でいろいろテストするにはSQLiteが一番ちょうどいいような気がするのでSQLiteをセットアップしてみました。<br /><br /><h3>SQLiteのインストール</h3><br />XAMPPでWindowsにPHP環境を作った場合、SQLiteのセットアップはとても簡単でした。php.iniの以下の設定からコメントをはずすだけです。<br /><blockquote><pre>;extension=php_pdo.dll<br />;extension=php_pdo_sqlite.dll<br />;extension=php_sqlite.dll<br /></pre></blockquote>後は、apacheの再起動なりして、php.iniの設定を読み直します。<br />phpinfo()を実行してSQLiteの項目が表示されれば成功です。<br /><br /><h3>symfonyのpropelの設定</h3>symfonyインストール後、symfonyコマンドでプロジェクト作成を行うとデータベース接続用にpropelの設定ファイルが作られます。<br /><blockquote><pre>[project-home]<br /> |----config<br /> |----databases.yml<br /> |----propel.ini<br /></pre></blockquote><br />それらを以下の設定に修正します。※databese名等の設定値は好きな値に変更してください。<br /><br /><span style="color: rgb(255, 102, 0);">databases.ymlの設定</span><br /><blockquote><pre>all:<br /> propel: <br /> class: sfPropelDatabase <br /> param: <br /> phptype: sqlite <br /> database: %SF_DATA_DIR%/database.db <br /> encoding: utf8</pre></blockquote><span style="color: rgb(255, 102, 0);">propel.iniの設定(抜粋)</span><br /><blockquote><pre>propel.database = sqlite<br />propel.database.createUrl = sqlite://D://project/php/sampleproject/data/database.db<br />propel.database.url = sqlite://D://project/php/sampleproject/data/database.db<br /><br />; directories<br />propel.home = .<br />propel.output.dir = d:projectphpsampleproject<br /></pre></blockquote>TKhttp://www.blogger.com/profile/12498260623824514942noreply@blogger.com0tag:blogger.com,1999:blog-4534132751277745913.post-74573553838313428412007-12-25T00:48:00.000+09:002007-12-25T13:16:02.156+09:00symfonyのインストール前提 XAMPPでApache+PHPの環境がセットアップされていることを前提にします。 それ以外の場合、自分の環境に合わせて読み替えてください。 <h3>PEARのセットアップ </h3> <p style="font-family: Times New Roman;">PEAR を使用してインストールをすると、バージョンアップなどがコマンド一つで行えるため管理がとても楽になります。 symfonyもPEARからインストールできます。以下手順参照。<br /><a href="http://pear.plus-server.net/index.html" rel="nofollow"></a></p> <ol><li><font color="#009900">コマンドプロンプトを起動</font><blockquote><pre>例:D:\xamppphp</pre></blockquote></li><li><font color="#009900">PEARコマンドで最新のPEARに更新する。</font><blockquote><pre>$ pear upgrade PEAR</pre></blockquote></li><li><font color="#009900">PEARに 'symfony' チャンネルを追加。</font><blockquote><pre>$ pear channel-discover pear.symfony-project.com</pre></blockquote></li><li><font color="#009900">このチャンネル内で利用可能なライブラリを確認。(symfony関係が表示)</font><blockquote><pre>$ pear remote-list -c symfony</pre></blockquote></li><li><font color="#009900">XAMPPをインストールしたディレクトリのPHPディレクトリにコマンドプロンプトのカレントを移動</font></li></ol> <h3>symfonyのインストール </h3> <font color="#009900">以下のコマンドでsymfonyをインストール。(07/12/25現在最新は1.10)</font> <blockquote><pre>$ pear install symfony/symfony </pre></blockquote><div style="margin-left: 40px;"> ※XAMPPインストールのデフォルトでPEARの設定を何も変更していないと、Cドライブ直下にPEAR関係のデータディレクトリ等が作成されます。 PEARの設定はいくつかありますが、設定一覧は以下のコマンドで確認できます。 </div><blockquote style="margin-left: 40px;"><pre>$ pear config-show</pre></blockquote><div style="margin-left: 40px;"> ここにある設定のうち、以下の3つは変更しておくと、インストール先を好きな場所にすることができます。設定の変更は以下のコマンドで可能 </div><blockquote style="margin-left: 40px;"><pre>$ pear config-set doc_dir ディレクトリパス<br>$ pear config-set data_dir ディレクトリパス<br>$ pear config-set test_dir ディレクトリパス</pre></blockquote><div style="margin-left: 40px;"> ディレクトリパスの部分を好きなパスに変えてください。ほかに設定を変えたい場合はコマンドは同じです。<br><br><br></div><font color="#009900">phing(symfonyの開発用ユーティリティセット)をインストール</font><div style="margin-left: 40px;"></div> <blockquote style="margin-left: 40px;"><pre>$ pear config-set preferred_state alpha<br>$ pear -c .pearrc install -a http://phing.info/pear/phing-current.tgz</pre></blockquote><font color="#009900"></font> <p style="font-family: Times New Roman;">※この際、正常にインストールができず、コマンドプロンプトが固まる現象が起きる場合あるようです。(Windows)</p><p style="font-family: Times New Roman;">PHPUnitのインストールで失敗するのようなので、インストール先のチャンネル設定を以下のようにしてから実行するとうまくいきました。 </p><blockquote style="font-family: Times New Roman;"><pre>$ pear channel-discover pear.phpunit.de<br>$ pear install phpunit/phpunit</pre></blockquote> <p style="font-family: Times New Roman;">を実行してPHPUnitをインストール。 また、phingもインストール前に、チャンネルの更新。</p> <blockquote style="font-family: Times New Roman;"><pre>$ pear channel-update pear.phing.info</pre></blockquote> <p style="font-family: Times New Roman;">その後、以下のコマンドでインストール</p> <blockquote style="font-family: Times New Roman;"><pre>$ pear install -a phing/phing</pre></blockquote><br><p style="font-family: Times New Roman;">※ここまででインストールされたパッケージは以下。(pear list -a で自分の環境を確認できる。)</p> <blockquote style="font-family: Times New Roman;"><pre>INSTALLED PACKAGES, CHANNEL __URI:<br>==================================<br>(no packages installed)<br>INSTALLED PACKAGES, CHANNEL PEAR.PHING.INFO:<br>============================================<br>PACKAGE VERSION STATE<br>phing 2.3.0 stable<br>INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:<br>=========================================<br>PACKAGE VERSION STATE<br>Archive_Tar 1.3.2 stable<br>Benchmark 1.2.7 stable<br>Console_Getargs 1.3.4 stable<br>Console_Getopt 1.2.3 stable<br>Console_Table 1.0.7 stable<br>DB 1.7.14RC1 beta<br>Log 1.9.13 stable<br>MDB2 2.5.0a2 alpha<br>PEAR 1.7.0RC1 beta<br>PEAR_PackageFileManager 1.6.3 stable<br>PHP_CompatInfo 1.5.1 stable<br>PhpDocumentor 1.4.1 stable<br>Structures_Graph 1.0.2 stable<br>VersionControl_SVN 0.3.1 alpha<br>XML_Beautifier 1.1 stable<br>XML_Parser 1.2.8 stable<br>XML_Util 1.1.4 stable<br>INSTALLED PACKAGES, CHANNEL PEAR.PHPUNIT.DE:<br>============================================<br>PACKAGE VERSION STATE<br>PHPUnit 3.2.6 stable<br>INSTALLED PACKAGES, CHANNEL PEAR.SYMFONY-PROJECT.COM:<br>=====================================================<br>PACKAGE VERSION STATE<br>symfony 1.0.10 stable<br>INSTALLED PACKAGES, CHANNEL PECL.PHP.NET:<br>=========================================<br>(no packages installed)<br></pre></blockquote> もし、この方法でも途中でインストールが失敗するようでしたら個別で一つずつインストールすることで対応できると思います。<br><br /><p style="font-family: Times New Roman;">インストールコマンドは以下。<br></p><br /> <blockquote style="font-family: Times New Roman;"><pre>$ pear install パッケージ名</pre></blockquote><p style="font-family: Times New Roman;"><br /></p> <p style="font-family: Times New Roman;">下記一覧がsymfony開発用にインストールされた機能一覧。<br></p> <div style="font-family: Times New Roman;" class="ie5"><table border="1" bordercolor="#cccccc" cellpadding="5" cellspacing="0" height="147" width="481"><thead><tr align="center" bgcolor="#cccccc"><td style="background-color: rgb(255, 255, 255);" class="style_td" bgcolor="#cccccc"><font color="#000000">パッケージ</font></td><td style="background-color: rgb(255, 255, 255);" class="style_td" bgcolor="#cccccc"><font color="#000000">概要</font></td></tr></thead><tbody><tr bgcolor="#cccccc"><td style="background-color: rgb(255, 255, 255);" class="style_td"><font color="#000000"><a href="http://www.pake-project.org/" rel="nofollow">pake</a></font></td><td style="background-color: rgb(255, 255, 255);" class="style_td" bgcolor="#cccccc"><font color="#000000">PHP版 Make<br /></font></td></tr><tr bgcolor="#cccccc"><td style="background-color: rgb(255, 255, 255);" class="style_td"><font color="#000000"><a href="http://creole.phpdb.org/trac/" rel="nofollow">creole</a></font></td><td style="background-color: rgb(255, 255, 255);" class="style_td" bgcolor="#cccccc"><font color="#000000">データベース接続ツール</font></td></tr><tr bgcolor="#cccccc"><td style="background-color: rgb(255, 255, 255);" class="style_td"><font color="#000000"><a href="http://propel.phpdb.org/trac/" rel="nofollow">propel</a></font></td><td style="background-color: rgb(255, 255, 255);" class="style_td" bgcolor="#cccccc"><font color="#000000">OR マッピングツール</font></td></tr><tr bgcolor="#cccccc"><td style="background-color: rgb(255, 255, 255);" class="style_td"><font color="#000000"><a href="http://http//phing.info/trac/wiki/WikiStart" rel="nofollow">phing</a></font></td><td style="background-color: rgb(255, 255, 255);" class="style_td" bgcolor="#cccccc"><font color="#000000">開発用ユーティリティ JavaのAntみたいなもの。</font></td></tr></tbody></table></div> <p style="font-family: Times New Roman;">これで基本的なインストール完了です。</p> <p style="font-family: Times New Roman;">コマンドラインツールによって直接呼び出せる全てのタスクを一見するには</p> <blockquote style="font-family: Times New Roman;"><pre>$ symfony -T</pre></blockquote> <p style="font-family: Times New Roman;">と入力してください。 いろいろコマンドが表示されれば、symfonyのインストール成功です。 </p>TKhttp://www.blogger.com/profile/12498260623824514942noreply@blogger.com1