しのさん協力■sfPageFlowを使っての新規作成■ ■PROJECT作成「プロジェクト名」 一般ユーザでログインし以下を入力 mkdir プロジェクト名 cd プロジェクト名 symfony init-project プロジェクト名 ■Application作成 「front」 「backend」 symfony init-app front symfony init-app backend ■apacheの設定を変更 suでrootへ変更。 /etc/httpd/conf/httpd.confに以下を記述 vi /etc/httpd/conf/httpd.conf <VirtualHost *:80> ServerName www.プロジェクト名(任意).jp DocumentRoot /home/ユーザー名/プロジェクト名/web <Directory "/home/ユーザー名/プロジェクト名/web"> AllowOverride All Options -Includes -ExecCGI </Directory> </VirtualHost> ■5.Apache再起動 /etc/init.d/httpd restart 実行 httpd を停止中: [ OK ] httpd を起動中: [ OK ] ---------------------------------------- ■C:\Windows\System32\drivers\etc\hostsに 127.0.0.1(サーバのIP) www.shonanbbs.com 192.168.0.128 www.プロジェクト名.jp 192.168.0.128 www.プロジェクト名.jp 表示を確認。 ---------------------------------------- ■symfony設定ファイルのシンボリックリンク作成 cd /home/ユーザー名/プロジェクト名/web/ ln -s /usr/share/pear/data/symfony/web/sf ./sf ◆DB/カラム作成 mysql -u rootで入って作成 CREATE DATABASE enojo; ■MySQLユーザーを作成して権限付与 GRANT ALL ON DB名.* TO ユーザー名@"localhost" IDENTIFIED BY "password"; flush privileges; ◆テーブル作成 ■テーブル作成 ●member CREATE TABLE member(id int not null auto_increment primary key); ALTER TABLE member ADD comment_id int not null; ALTER TABLE member ADD sei varchar(255); ALTER TABLE member ADD mei varchar(255); ALTER TABLE member ADD sei_kana varchar(255); ALTER TABLE member ADD mei_kana varchar(255); ALTER TABLE member ADD nickname varchar(255); ALTER TABLE member ADD pass text; ALTER TABLE member ADD photo1 text; ALTER TABLE member ADD gender tinyint(1); ALTER TABLE member ADD zip_code int(7); ALTER TABLE member ADD pref tinyint(2); ALTER TABLE member ADD address1 varchar(255); ALTER TABLE member ADD address2 varchar(255); ALTER TABLE member ADD address3 varchar(255); ALTER TABLE member ADD tel varchar(11); ALTER TABLE member ADD email varchar(255); ALTER TABLE member ADD note text; ALTER TABLE member ADD update_at datetime; ALTER TABLE member ADD create_at datetime; ALTER TABLE member ADD del_flg tinyint(1); ●reply create table reply(id int not null auto_increment primary key); ALTER TABLE reply ADD comment_id int not null; ALTER TABLE reply ADD name varchar(255); ALTER TABLE reply ADD content varchar(255); ALTER TABLE reply ADD photo1 text; ALTER TABLE reply ADD photo2 text; ALTER TABLE reply ADD email varchar(255); ALTER TABLE reply ADD reply_cnt int; ALTER TABLE reply ADD create_at datetime; ALTER TABLE reply ADD del_flg tinyint(1); ●comment create table comment(id int not null auto_increment primary key); ALTER TABLE comment ADD comment_id int not null; ALTER TABLE comment ADD content text; ALTER TABLE comment ADD categorie int; ALTER TABLE comment ADD photo1 text; ALTER TABLE comment ADD photo2 text; ALTER TABLE comment ADD photo3 text; ALTER TABLE comment ADD note text; ALTER TABLE comment ADD access_cnt int; ALTER TABLE comment ADD create_at datetime; ALTER TABLE comment ADD update_at datetime; ALTER TABLE comment ADD del_flg tinyint(1); ■テーブル構造の確認 show databases; describe member; describe reply; describe study; ■テーブルの確認 show tables; ■カラムを削除。 ALTER TABLE member drop comment_id; ALTER TABLE member drop memo; ◆プロジェクト作成 symfony propel-build-schema symfony propel-build-model ■web/backendディレクトリ作成 cd /home/ユーザー名/プロジェクト名/web mkdir backend mv backend.php backend_dev.php ./backend cp .htaccess ./backend ■.htaccessの内容を変更 cd backend vi .htaccess ■RewriteBaseとRewriteRuleを以下のように変更 Options +FollowSymLinks +ExecCGI <IfModule mod_rewrite.c> RewriteEngine On # uncomment the following line, if you are having trouble # getting no_script_name to work RewriteBase / # we skip all files with .something RewriteCond %{REQUEST_URI} \..+$ RewriteCond %{REQUEST_URI} !\.html$ RewriteRule .* - [L] # we check if the .html version is here (caching) RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f # no, so we redirect to our front web controller RewriteRule ^(.*)$ /backend/backend.php [QSA,L] </IfModule> # big crash from our front web controller ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly" ■web/backend/backend.phpを以下のように修正 define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/..')); ↓ define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/../..')); ■/home/sheena/hunt/apps/front/config/view.ymlを開き、 title、description、keywords を変更する 終了後symfony cc ■データベースへの接続情報を設定する プロジェクト名/config/databases.yml を開く all: propel: class: sfPropelDatabase param: dsn: mysql://ユーザー名:password@localhost/プロジェクト名 encoding: utf8 ■プロジェクト名/config/propel.iniを開き、以下の2項目を修正する propel.database.createUrl = mysql://ユーザー名:password@localhost propel.database.url = mysql://ユーザー名:password@localhost/プロジェクト名 ◆sfPageFlow(Model名はlib/model参照。最初が大文字なら合わせる。) 管理者用会員情報 symfony propel-generate-create backend default Member symfony propel-generate-edit backend default Member symfony propel-generate-list backend default Member 管理者用コメント管理 symfony propel-generate-list backend comment_edit Comment ログイン symfony propel-generate-create front login Member ログアウト symfony propel-generate-create front logout Member 一般用新規登録 symfony propel-generate-create front member_add Member 新規投稿 symfony propel-generate-create front default Comment symfony propel-generate-list front default Comment 返信 symfony propel-generate-create front reply_add Reply 投稿管理 symfony propel-generate-edit front comment_edit Comment 必要なもの /lib/helper/ MyUtilityHelper.zip解凍後のMyUtilityHelper.phpでおk /apps/front/templates _pager.php /apps/front/lib myUser.class.php actionにある下記をCommentPeer.phpへ移動 static public function getPager($perpage, $page, $parameters) { $c = new Criteria(); //$c->addDescendingOrderByColumn(self::CREATED_AT); $pager = new sfPropelPager('Comment', $perpage); $pager->setCriteria($c); $pager->setPage($page); $pager->init(); return $pager; } このままだと編集できないので <a href="/comment_edit/flow?id=<?php echo $item->getId();?>">edit</a> を追加
2011年4月28日木曜日
4/28覚書
ラベル:
sfPageFlow,
Symfony,
講座
4/25覚書
腰痛きついいいい。ちくしょー。
4時間目から登校。
☆sfPageFlow
めんどくさい投稿、編集、完了を一気にやってくれるプラグイン。
最初の解凍方法で詰まったっす・・・・
ええとまずgenerator.zipを自分のプロジェクト直下にFTPでUP。
mv generator.zip /usr/share/pear/data/symfony/
そのあとsuでrootログインして移動
cd /usr/share/pear/data/symfony/
解凍失敗してたファイルを移動
mv generator bk.generator
再度解凍
unzip generator.zip
あとは教科書通りで。
rootに入ったときはcd /home/で入るよ。ってすっかり忘れてたよ・・・。
課題がBBS焼き直しなのでそのまま入った。
symfony propel-generate-create backend member_add Member
symfony propel-generate-edit backend member_edit Member
symfony propel-generate-list backend member_list Member
4時間目から登校。
☆sfPageFlow
めんどくさい投稿、編集、完了を一気にやってくれるプラグイン。
最初の解凍方法で詰まったっす・・・・
ええとまずgenerator.zipを自分のプロジェクト直下にFTPでUP。
mv generator.zip /usr/share/pear/data/symfony/
そのあとsuでrootログインして移動
cd /usr/share/pear/data/symfony/
解凍失敗してたファイルを移動
mv generator bk.generator
再度解凍
unzip generator.zip
あとは教科書通りで。
rootに入ったときはcd /home/で入るよ。ってすっかり忘れてたよ・・・。
課題がBBS焼き直しなのでそのまま入った。
symfony propel-generate-create backend member_add Member
symfony propel-generate-edit backend member_edit Member
symfony propel-generate-list backend member_list Member
書きかけ if(!$member){ $this->redirect('testmember_list/index') } <a href="/testmember_list/index?delete=on&id=<?php echo $item->getId()?>"> <a onclick="return confirm('削除しますか?');" href=
ラベル:
sfPageFlow,
Symfony,
講座
登録:
投稿 (Atom)