jobeet 1日目: プロジェクトを始める〜4日目: Controller と Viewまで
環境設定
実行環境はxampp、IDEは aptana3。phpやdbの知識は問題ない前提。
symfonyやDBのインストールや設定は以下を参照、またはググルこと。
- http://www.symfony.gr.jp/docs/for-beginners/installation
- http://www.symfony.gr.jp/docs/for-beginners/blog-tutorial/02-create-database
apatchの設定などで手間取るため、ドキュメントルートにサンドボックスをインストール。
symfonyコマンドも実行できる環境にすること。
実践準備
1〜4日までの説明は、画像やcssが適切でなくレイアウトが崩れる
上記の実践前に以下を実行
- フォルダ作成、frontend生成
- ymlファイル更新
- 画像ファイル、css、ロゴ設定
- DB設定、データロード、モデル自動生成
詳細は以下。
フォルダ作成、frontend生成
プロンプトで以下を実行
cd htdocs (ドキュメントルート) mkdir jobeet cd jobeet symfony generate:project jobeet symfony generate:app frontend
ymlファイル更新
ymlファイル更新
config/doctrine/schema.yml に以下の内容をコピペ。
# config/doctrine/schema.yml JobeetCategory: actAs: { Timestampable: ~ } columns: name: { type: string(255), notnull: true, unique: true } JobeetJob: actAs: { Timestampable: ~ } columns: category_id: { type: integer, notnull: true } type: { type: string(255) } company: { type: string(255), notnull: true } logo: { type: string(255) } url: { type: string(255) } position: { type: string(255), notnull: true } location: { type: string(255), notnull: true } description: { type: string(4000), notnull: true } how_to_apply: { type: string(4000), notnull: true } token: { type: string(255), notnull: true, unique: true } is_public: { type: boolean, notnull: true, default: 1 } is_activated: { type: boolean, notnull: true, default: 0 } email: { type: string(255), notnull: true } expires_at: { type: timestamp, notnull: true } relations: JobeetCategory: { onDelete: CASCADE, local: category_id, foreign: id, foreignAlias: JobeetJobs } JobeetAffiliate: actAs: { Timestampable: ~ } columns: url: { type: string(255), notnull: true } email: { type: string(255), notnull: true, unique: true } token: { type: string(255), notnull: true } is_active: { type: boolean, notnull: true, default: 0 } relations: JobeetCategories: class: JobeetCategory refClass: JobeetCategoryAffiliate local: affiliate_id foreign: category_id foreignAlias: JobeetAffiliates JobeetCategoryAffiliate: columns: category_id: { type: integer, primary: true } affiliate_id: { type: integer, primary: true } relations: JobeetCategory: { onDelete: CASCADE, local: category_id, foreign: id } JobeetAffiliate: { onDelete: CASCADE, local: affiliate_id, foreign: id }
fixturesファイル更新
# data/fixtures/categories.yml
JobeetCategory: design: name: Design programming: name: Programming manager: name: Manager administrator: name: Administrator # data/fixtures/jobs.yml JobeetJob: job_sensio_labs: JobeetCategory: programming type: full-time company: Sensio Labs logo: sensio-labs.gif url: http://www.sensiolabs.com/ position: Web Developer location: Paris, France description: | You've already developed websites with symfony and you want to work with Open-Source technologies. You have a minimum of 3 years experience in web development with PHP or Java and you wish to participate to development of Web 2.0 sites using the best frameworks available. how_to_apply: | Send your resume to fabien.potencier [at] sensio.com is_public: true is_activated: true token: job_sensio_labs email: job@example.com expires_at: '2010-10-10' job_extreme_sensio: JobeetCategory: design type: part-time company: Extreme Sensio logo: extreme-sensio.gif url: http://www.extreme-sensio.com/ position: Web Designer location: Paris, France description: | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in. Voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. how_to_apply: | Send your resume to fabien.potencier [at] sensio.com is_public: true is_activated: true token: job_extreme_sensio email: job@example.com expires_at: '2010-10-10'
画像ファイル、css、ロゴ設定
各ページから画像、cssをダウンロード
- symfony 1.x legacy website
- symfony 1.x legacy website
- スタイルシート、画像、JavaScript から画像とcssをダウンロードし、設置
DB設定、データロード、モデル自動生成
ターミナルで以下を実行
symfony doctrine:build --all --and-load symfony doctrine:generate-module --with-show --non-verbose-templates frontend job JobeetJob