symfonyでのプロジェクトの作成
symfonyでのプロジェクトの作成方法
1 |
php lib/vendor/symfony/data/bin/symfony generate:project [プロジェクト名] --orm=Propel |
ORMをPropelでプロジェクトを作成するにはこのようにするべし
symfonyのコマンド一覧
symfonyのコマンド一覧です。
とりあえず備忘録
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
Usage: symfony [options] task_name [arguments] Options: --help -H Display this help message. --quiet -q Do not log messages to standard output. --trace -t Turn on invoke/execute tracing, enable full backtrace. --version -V Display the program version. --color Forces ANSI color output. --xml To output help as XML Available tasks: :help Displays help for a task :list Lists tasks app :routes Displays current routes for an application cache :clear Clears the cache (cc) configure :author Configure project author generate :app Generates a new application :module Generates a new module :project Generates a new project :task Creates a skeleton class for a new task i18n :extract Extracts i18n strings from php files :find Finds non "i18n ready" strings in an application log :clear Clears log files :rotate Rotates an application's log files plugin :add-channel Add a new PEAR channel :install Installs a plugin :list Lists installed plugins :publish-assets Publishes web assets for all plugins :uninstall Uninstalls a plugin :upgrade Upgrades a plugin project :clear-controllers Clears all non production environment controllers :deploy Deploys a project to another server :disable Disables an application in a given environment :enable Enables an application in a given environment : optimize Optimizes a project for better performance :permissions Fixes symfony directory permissions :send-emails Sends emails stored in a queue :validate Finds deprecated usage in a project symfony :test Launches the symfony test suite test :all Launches all tests :coverage Outputs test code coverage :functional Launches functional tests :unit Launches unit tests |
symfonyでmodelを作成する方法
symfonyでモデル作成する場合は、
まず、「プロジェクトフォルダ/config/schema.yml」を修正します。
で定義するデータベーステーブルの構造を
schema.ymlに設定したら以下のコマンドを実行します。
1 |
symfony propel-build-model |
これで
「プロジェクトフォルダ/lib/model」の中にクラスファイルが自動生成されます。
テーブル定義を修正する場合は、「schema.yml」を修正したのち先ほどのコマンドを実行してORMクラスファイル再作成を行います。
ここでひとつ注意があります。
自動生成されるクラスファイルは
- 「プロジェクトフォルダ/lib/model」
- 「プロジェクトフォルダ/lib/model/om」
2つのフォルダに作成されます。
その中で、omフォルダの中にあるクラスファイルは、自動生成する度にテーブル定義にしたがい再作成されるので修正をしてはいけません。
機能追加する場合はmodelフォルダ直下のファイルを修正するようにしてください。
symfonyのアプリケーションの作成方法
symfonyを使ってアプリを作成するときに最初に行うコマンド実行の手順です。
ちなみにこれはsymfony1.0系のアプリケーションの作成方法です。
- まず、プロジェクトを作成します。
1
symfony init-project プロジェクト名
このコマンドを実行を実行したフォルダがsymfonyのプロジェクトフォルダになります。
- 次に、アプリケーションを作成します。
1
symfony init-app アプリ名
このアプリ名でアプリケーションが作成されます。
- 次にアプリにモジュールを追加します。
アプリケーションを追加しただけではモジュールが無い為、何も動作しません。1
symfony init-module アプリ名 モジュール名
これで対象のアプリケーションにモジュールのスケルトンが作成されます。
これで一通りのスケルトンはできたのであとは実装部分を追加していきます。
作ったプロジェクト名がどれくらい影響するのか情報を収集してみました。
以下の部分に自動設定されていました。
1 2 3 4 |
localhost% grep myprj **/** ~/public_html/myprj config/propel.ini:propel.project = myprj config/propel.ini:propel.database.url = mysql://root@localhost/myprj config/properties.ini: name=myprj |