symfony PHPフレームワークpart2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/03/17(水) 00:34:44ID:???フランチョスとsymfony
http://pc11.2ch.net/test/read.cgi/php/1201177567/
1.x系公式
http://www.symfony-project.org/
symfony reloaded(2.0) まだプレビュー版
http://symfony-reloaded.org/
0268267
2010/11/16(火) 21:27:44ID:???Editのとき編集フォームがuser_idのままです。。。
public function configure()
{
$this->widgetSchema['user_id'] = new sfWidgetFormInputText();
$this->setValidator('user_id', new sfValidatorString(array('max_length' => 128, 'required' => true)));
$this->validatorSchema->setPostValidator(new sfValidatorCallback(
array(
'callback' => array($this, 'validateUsername'),
),
array(
'invalid' => 'アカウント名を正しく入力してください。',
)
));
}
0269267
2010/11/16(火) 21:31:08ID:???{
if (strlen($values['user_id']))
{
$user = Doctrine_Core::getTable('User')->findOneByUsername($values['user_id']);
if (!$user)
{
throw new sfValidatorError($validator, 'invalid');
}
$values['user_id'] = $user->getId();
}
return $values;
}
}
0270267
2010/11/16(火) 22:50:03ID:???0271267
2010/11/16(火) 23:45:05ID:???だれかの役に立つかもしれないから、動いたコンストラクタのコードも一応書いときます。
けんちゃんより(はぁと)
public function __construct($defaults = array(), $options = array(), $CSRFSecret = null)
{
if(isset($defaults['user_id']))
{
$user = Doctrine_Core::getTable('User')->find($defaults['user_id']);
if($user)
{
$defaults['user_id'] = $user->getUsername();
}
}
parent::__construct($defaults, $options, $CSRFSecret);
}
0272nobodyさん
2010/11/17(水) 05:44:26ID:???実行すると「There is no open connection」というエラーが出てしまいます。
なにがおかしいんでしょうか?
> $databaseManager = new sfDatabaseManager($this->configuration);
> $connection = $databaseManager->getDatabase('links')->getConnection();
を追加してみたのですが、
「 Database "links" does not exist.」
というエラーが出てしまいます。これは正しいDB名です。
0273nobodyさん
2010/11/17(水) 05:46:56ID:???#accessTask.class.php
<?php
class accessTask extends sfBaseTask
{
public function configure()
{
$this->namespace = 'link';
$this->name = 'access';
$this->addArgument('username', sfCommandArgument::OPTIONAL);
$this->addArgument('ip', sfCommandArgument::OPTIONAL);
}
public function execute($arguments = array(), $options = array())
{
$access = new Accesslog();
$access->setUsername($arguments['username']);
$access->setIp($arguments['ip']);
$access->save();
$this->log('access from '. $arguments['ip']);
}
}
0274nobodyさん
2010/11/17(水) 10:31:09ID:???・extends sfDoctrineBaseTaskにする
・executeの冒頭に
$configuration = $this->createConfiguration('users', 'cli');
new sfDatabaseManager($this->configuration);
と書く。
理屈は知らんがw
doctrineならこれで動くんじゃね
0275nobodyさん
2010/11/17(水) 10:31:58ID:???0276nobodyさん
2010/11/17(水) 17:22:41ID:???しっかし重いなぁ。。。
まだ連動させてないけど、Doctrineがログ吐くのが悪さしないといいんだけど。
(-quiet指定したら、"-u","-i","-e"オプションが無いとエラーが出たのであとで調べる。)
0277nobodyさん
2010/12/13(月) 19:58:07ID:???カラムの追加は公式ドキュメントでなんとなく分かりました。
ただ、テーブル(既存テーブルとのリレーション有り)を新たに追加する場合は
どうすればよいのでしょうか?
Symfonyが吐いたテーブル作成のSQL文をコピペしてprod環境で実行、
モデル等のファイルをアップロード、
キャッシュクリア
というような手作業になるのでしょうか?
ビルドはいらないですよね?
0278nobodyさん
2010/12/13(月) 22:35:02ID:???にするのはhttpd.cnfをいじるんかねえ?チラ)
0279nobodyさん
2010/12/13(月) 23:26:51ID:???symfony doctrine:build --all --and-load
すると、まずデータベースがdropされますよね?
複数プロジェクトで共通のユーザー情報マスタDBを使うつもりでいるので
1つのプロジェクトを更新するたびにユーザー情報がdropされると困るのですが、
どのように構成すればよいでしょうか?
#仮にユーザー情報マスタDBのスキーマだけを持ったプロジェクトを作って、
#ほかのプロジェクトはユーザー情報DBをスキーマに記述しない構成も考えたのですが、
#モデル等が作られないのでリレーション等が働かない気がしています。
0280nobodyさん
2010/12/14(火) 07:43:09ID:???つttp://symfony-doc-ja.googlecode.com/svn/branches/1.2/html/book/09-Links-and-the-Routing-System.html#url.rewriting
0281nobodyさん
2010/12/18(土) 02:06:30ID:???新しいテーブル追加するにはどうすればいいですか??
サーバでbuild-allするとdropしちゃいますよね?
一旦save-fixtureすることも考えたんですが
sfGuardPluginなんで、パスワードが変わっちゃいますよね?;;
0282nobodyさん
2010/12/19(日) 00:28:41ID:???build-allじゃなくて必要なタスクだけ実行すればいいんじゃないの?
やり方は色々あると思うけど
例えば新しいテーブルはSQLで作って
symfony --xml build-schema
symfony build --model
symfony build --forms
symfony cc
とか。
0283281
2010/12/27(月) 05:22:49ID:ZrwXahVrちょっとそれでやってみることにします。
0284nobodyさん
2010/12/28(火) 01:53:08ID:???だから誰も使わないし流行らない。
0285nobodyさん
2010/12/28(火) 04:53:44ID:???フレームワークは所詮道具なんで、どれを使ってもいくつも使ってもいいと思う。
ケースバイケース、適材適所で。
1個覚えれば他に移行するのも楽だよ。
俺はsymfonyともPHPとも心中する気は無いけど、
それでも、今現在の最善策だと思って使ってく。
5年も経てば、CakeでもZendでもない新しいフレームワークにみんな移ってると思うよ。
そんな気持ち。
0286nobodyさん
2010/12/28(火) 09:09:58ID:???URLにdomain.com/jp/とかdomain.com/en/とかアドレスを分けたくない場合は
どうすればいいですか?
サーチエンジンからすると、分けてたほうがいいのかな??
0287nobodyさん
2010/12/29(水) 03:44:19ID:???その流れではjaなのではないのですか?
0288nobodyさん
2010/12/29(水) 18:34:12ID:???symfonyから学ぶことはたくさんある
symfony2.0への前準備として1.4勉強するといいよ
0289nobodyさん
2011/01/01(土) 06:25:49ID:???0291nobodyさん
2011/01/04(火) 23:09:37ID:???0293nobodyさん
2011/01/14(金) 18:21:43ID:???どうもやり方が見つけられない・・・。
0294nobodyさん
2011/01/15(土) 13:43:19ID:PxyuICb1JavaScript で対応。jQuery プラグインなら jquery.localize.js とか MS 謹製の jQuery Globalization Plugin が見つかるね。
0295nobodyさん
2011/01/15(土) 13:44:44ID:PxyuICb1主だった人は執筆やら勉強の会の準備に忙しいから、
0296nobodyさん
2011/01/15(土) 13:57:41ID:PxyuICb10297nobodyさん
2011/01/15(土) 14:10:43ID:PxyuICb1ガラパゴス基準で考えてほしくないな。github のウォッチングランキングに入っているのでじゅうぶん人気はあると思うよ。
https://github.com/popular/watched
0298nobodyさん
2011/01/15(土) 17:49:57ID:???0299nobodyさん
2011/01/15(土) 22:12:45ID:PxyuICb1パフォーマンスの問題というよりも、PHPでは体験できない新しい勉強をしたいということではないだろうか。世界の状況はどんどん変わってゆくのだから、>>285 と同じことだけど特定のフレームワークや言語に囚われる必然性はないよ。
0300nobodyさん
2011/01/23(日) 02:44:06ID:???0302nobodyさん
2011/01/29(土) 15:07:57ID:???お前は何を言っているんだw
0303nobodyさん
2011/02/01(火) 09:59:49ID:???PHPなんて糞だと思いつつも、格安鯖にはPHPとPerlしかないし…
と、他の言語に興味がありながら、なかなか手を出せなかった人にとってはいい転換期だと思う。
インフラの心配なく、自動スケールするGoogle App Engineとかもあるしね。
JavaとかPythonもやってみると意外と面白い。
0304nobodyさん
2011/02/01(火) 11:10:01ID:???VPSにしてWAS入れてとかの話なのか?
まあここはsymfonyスレだが・・
0305nobodyさん
2011/02/03(木) 00:03:26ID:???これまでのレンタルサーバの共用プランだと、mod_phpかPerl/CGIしか選択肢がなかった。
そういう事だろう。
0306nobodyさん
2011/02/03(木) 01:43:49ID:???local::libでCPANモジュールぶっこみができないのがつらいところ
0307nobodyさん
2011/04/15(金) 12:53:12.64ID:???追加したレコードのIDが取得できん。
$xxxx = new AAAAA();
: (各種設定setXXXX())
$xxxx->save();
$xxxx->getId();←常に0が返ってくる。
別のテーブルでも試してみて、原因は複合主キーだとは
わかっているんだが、どうやってInsertしたテーブルの
キーを取得すればよいのか誰か教えて欲しい。
0308nobodyさん
2011/04/16(土) 00:15:15.06ID:???0309nobodyさん
2011/04/20(水) 02:20:42.61ID:???0310nobodyさん
2011/05/09(月) 22:51:03.02ID:???0311nobodyさん
2011/05/19(木) 07:19:01.17ID:???0312nobodyさん
2011/05/20(金) 20:40:57.95ID:???その答えは単純明快である。
Symfonyの素晴らしさを理解できる優秀なエンジニアは
この世に一握りしかいないからである。
世間の評価など気にせずに、優秀なエンジニア達は
迷わずSymfonyを使えばいい。
Symfonyの素晴らしさを理解できる優秀なエンジニアだけで
Synfonyを独占すればいい。
0313nobodyさん
2011/05/24(火) 17:02:41.05ID:???http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1062913895
0314nobodyさん
2011/06/21(火) 23:30:06.99ID:???0315nobodyさん
2011/07/16(土) 10:49:36.52ID:???sfPagerを継承して独自のページャを作る、っていう方法であってますか?
0316nobodyさん
2011/08/21(日) 15:06:40.02ID:???0317nobodyさん
2011/08/22(月) 09:27:30.42ID:???やっぱCakeのがシンプルで融通聞くと思い始めた。
symfony2は原型とどめてないしビジネス的に見てもCakeかなあ・・・
あとやっぱりschema.ymlとmigration両方書くのもめんどい。
0318nobodyさん
2011/08/29(月) 13:54:53.89ID:???0319nobodyさん
2011/09/09(金) 12:56:57.62ID:???なんかデバッグしにくい妙なエラーが・・
無理に5.3にせずに5.2で行く方が無難かな
0320nobodyさん
2011/09/09(金) 14:04:29.22ID:???0321nobodyさん
2011/09/10(土) 14:10:10.81ID:???5.2まではそれでも動いていたのが、5.3では動かなくなっていて
しかもそれがバッドノウハウ的にエラー表示を消してるところで起きていたので分からなかっただけでした・・orz
0322nobodyさん
2011/09/12(月) 22:56:15.71ID:???一覧画面の各レコードの端にチェックボックスを置き、
チェックされたものを、一覧の下に用意した削除ボタンで一括削除、
というような事をしたいのですが
フォームをどのように作ればいいんでしょうか。
当然ながら削除チェックボックスは、永続化するものではありません。
(1) 削除対象のエンティティ&そのフォーム
(2) (1)に、削除チェックボックスを足したVO&そのフォーム
(3) (2)の配列を持つVO&そのフォーム
こんな感じで3重の入れ子にすればいけるかな、と思ったんですが
(2)の段階で既に画面表示がエラーになり、
考え方がおかしいのか、どこかで実装ミスしてるだけなのか判断できず困ってます。
そもそも↑この構成が面倒くさすぎるので、もっと簡単にやれれば嬉しいのですが。
0324nobodyさん
2011/09/23(金) 02:30:11.31ID:???0325nobodyさん
2011/10/03(月) 00:43:49.00ID:???0326nobodyさん
2011/10/26(水) 00:19:03.95ID:???AptanaにSymfonyコマンドを登録してやっているのですが、
他のSymfonyプロジェクトにエクスポートして持って行くと
うまく動いてくれなくて、結局手作業でパスなどを修正しています。
なにかうまく動かす方法はないでしょうか?
0327nobodyさん
2011/11/04(金) 21:32:11.13ID:???OpenPNE上で開発をしているのですが、$base_url/member/$idに対して、
URLの$idがどんな整数を受け取っても認証させるようにするにはどのように設定ファイルを書けばよいのでしょうか?
それとも複数のURLに対してまとめて設定するのは不可能なのでしょうか?
memberモジュール内で、
all
is_secure: false
$id
is_secure: true
credentials: admin
のようにしたいのですが、webや過去ログを見てもそれらしいものが無かったので、
ご存知の方がいらっしゃいましたら、お知恵をお貸しください。
0329nobodyさん
2011/11/18(金) 12:00:30.79ID:???Openpneの開発なので、file_binテーブルに入れる形にしたいです
0330nobodyさん
2011/12/08(木) 15:13:46.08ID:ift+em7E以下、結果は同じですがDQLでの指定がわからず…
SELECT * FROM Table1, Table2 WHERE Table1.id = Table2.id
SELECT * FROM Table1 JOIN Table2 WHERE Table1.id = Table2.id
0331nobodyさん
2011/12/09(金) 22:51:09.35ID:???0332nobodyさん
2011/12/10(土) 02:17:59.00ID:ECmz/c7m0333nobodyさん
2011/12/10(土) 03:18:38.16ID:???$q->from('Table1 t1')->innerJoin('Table2 t2')
とか。
0334nobodyさん
2011/12/10(土) 03:31:11.41ID:???$q->from('Table1 t1')->addFrom('t1.Table2 t2')->where('t1.id = t2.id')
$q->from('Table1 t1')->innerJoin('t1.Table2 t2')
かな。
0335nobodyさん
2011/12/10(土) 07:40:32.51ID:???$q = $em->createQuery("SELECT t1, t2 FROM Table1 t1 INNER JOIN t1.Table2 t2 WHERE t1.id = t2.id");
かな?
間違ってるかもしれない
誰かフォローよろw
0336nobodyさん
2011/12/10(土) 08:28:13.81ID:???0338330
2011/12/18(日) 19:39:18.47ID:???みなさんのお陰でJOINしたデータの取得が出来ました。
しかし、twig(Symfony2使ってます)にJOINされたデータの表示が出来ず…。
t1のデータはtest.idなどので表示できるのですが変数が分からず…t2ができないのです。
どなたか教えていただけませんでしょうか。
$q = $em->createQuery("SELECT t1, t2 FROM Table1 t1 INNER JOIN t1.Table2 t2 WHERE t1.id = t2.id");
$test = $q->getResult();
return $this->render('TestTest1Bundle:Default:index.html.twig', array('test' => $test));
0339nobodyさん
2011/12/19(月) 11:45:07.76ID:???まずdoctrine2が返してる生の$testの中身を見るべき。
テスト書くか、やり方わからなかったら最悪twigに渡す前の段階でvar_dumpとかでもいいから。
0340330
2011/12/19(月) 16:48:58.15ID:???アドバイスありがとうございます。
中身を見て、t2のidが取得できていることは確認できました。
ただ、やはり変数が不明です。
0341330
2011/12/21(水) 21:43:34.80ID:???0342nobodyさん
2011/12/25(日) 01:46:29.36ID:hWL/9d8S0343nobodyさん
2011/12/30(金) 14:52:46.28ID:???0344nobodyさん
2012/02/12(日) 00:46:55.30ID:???どなたかご教授を…
sfFilterを継承したフィルタを自作しているのですが
フィルタの中でユーザーがログインしてるかどうかで
処理を分けたいのですが、
フィルタの中でどうやったらmyUserのインスタンスを
取得できるでしょうか…
0345nobodyさん
2012/02/21(火) 14:16:36.79ID:???0347nobodyさん
2012/04/23(月) 09:32:59.37ID:???なんでいちいちテンプレートの呼び出し指定しなきゃいけないんだよ
@Templateだとか$this->renderとか
0348nobodyさん
2012/05/04(金) 12:24:28.61ID:???を見始めたけど、違いすぎて泣ける。
cakePHPとかRuby on Railsとか他のは使ったことがないけど、
ここまで変更が大きいのってWeb application Frameworkでは普通のこと?
Twigも2.0からの新機能?なのかもしれないけど、テンプレートの書き方も
ぜんぜん違うし・・
2.0覚えても、3.0になったらまた別物になるんだろうな・・・orz
0349nobodyさん
2012/05/10(木) 10:28:41.45ID:???2.0は完全に別物だな。
ただdjangoとかからの影響大きいから、そっち触ってればある程度わかるかもしれん。
軽くなったのはいいが、中規模までの開発効率はいいとはいえん。
よほどphpで自分用の勝手のいいライブラリを持ってたりしない限り、
php捨てて他の言語のフレームワーク移ったほうがいいかもしれんな
0350nobodyさん
2012/05/14(月) 14:52:07.50ID:???ありがとう
やっぱりこれは別物というくらいの変更ですか・・
自分ひとりで作るサイトで、PHP限定の縛りもないので
Djangoとか見てみます。
0351nobodyさん
2012/06/01(金) 01:48:55.10ID:sOx9VKNNsymfony2 ゲキ難関
symfony1ですら、難しかったのに、
そもそも、symfonyのエンジニア集まらないだろ。
だから開発コスト高いよ。
0352nobodyさん
2012/06/01(金) 01:51:45.27ID:sOx9VKNNプログラマーの単価は、通常の1.5倍ぐらいはあっていいと思うよ。
平均年収が450万円だったら675万ぐらいはもらっていいと思う。
学習量半端ないな。
0353nobodyさん
2012/06/01(金) 01:59:04.97ID:sOx9VKNNZEND覚える→ZENDつかわね
Symfony覚える→これからはSymfony2の時代です。
そのほか環境面を合わせてどれだけ、走ればいいんだ?会社でかねだしてくれないし。
0354nobodyさん
2012/06/01(金) 02:13:25.95ID:sOx9VKNN【実務】
PHP、SQL、DBチューニング、サーバー技術、ネットワーク技術、
Shell、セキュリティ技術、各種端末ツール、統合開発環境(Eclipse、Dreamweaver)
CAKE、ZEND、Symfony、JAVASCRIPT、AJAX、Jquery、PHPUnit、FlashActionScript
PHPunit等テストツール、PHPDocumentor等資料作成ツール、VISIO、XML、XSLT、DHTML、HTML、CSS
VisualStudio、ExcelVBA(ドキュメント効率化)、バックアップ技術(GIT、SVN、CVS)
WEBサーバ技術(Apache、IIS等)、各種設計技術(UML、DFD、業務プロセスフロー、プログラムフローチャート、
WBS、ERD、外部設計、要件定義)、ハードウェア技術、OS技術(Unix、Linux、Windows、Mac)
WEBブラウザ技術(GC、IE、FF、SF&各種アドイン)・・・・
0355nobodyさん
2012/06/01(金) 02:22:25.13ID:sOx9VKNN情報セキュリティスペシャリスト、ソフトウェア開発技術者、基本情報技術者
CCNP、CCNA、LPIC−LV2+LV1、WEBデザイン技能検定2級、OracleSilver+Bronze
VBAエキスパートスタンダード、WEBプログラミング+WEBクリエイター能力認定試験両方上級
情報処理能力検定1級、Cプログラミング1級、簿記検定2級、中小企業診断士4科目合格(運営・経情・財務・法務)
FP3級、MCA1科目、MOS上級1科目、ビジ法2級、社労士←
0356nobodyさん
2012/06/01(金) 10:15:27.19ID:???もっともらっていいはず、と思って辞めたわ。
数学、物理、回路設計技術の下地が必要な上に、
ハードウェア記述言語、各種開発・シミュレータツール、アセンブリ言語、C言語、補助的に使うスクリプト言語・・・
ただ、モノが売れないことには給料が出ないんだよ。
いまやどこのモノづくりメーカーもリストラの真っ最中。
結局、個人にしても企業にしても、いくら知識やリソースを溜め込んだところで
使いこなして生き残ることができなければ意味が無いんだよな。。
0358nobodyさん
2012/06/03(日) 16:01:26.12ID:???自分で運営から開発までやりゃいいんだよ。
今ヒットしてるサービスってプログラマが一人で
やってたのが大きくなっちゃったってやつが多いじゃん。
0359nobodyさん
2012/06/06(水) 01:24:54.43ID:???2系はパリコレで活躍できるが、地元の看板娘には使いづらいスーパーモデル。
0360nobodyさん
2012/06/16(土) 22:26:54.00ID:???0363nobodyさん
2012/06/30(土) 07:34:24.17ID:???小規模でも使えるのがいい
0364nobodyさん
2012/07/10(火) 03:55:00.41ID:???ちょっと助けてほしいのだけど「symfony cc」をしたら、
サーバが500エラーを返す様になってしまったのだけれども、
どうか神様お助け頂けませんでしょうか。
0365nobodyさん
2012/07/10(火) 04:29:10.87ID:???0366nobodyさん
2012/07/15(日) 04:55:54.26ID:???かれこれ昔のソースを3時間ほどいじくってますが、
layout.phpを修正して「symfony cc」してもレイアウトが変わりません。
それと、index.phpが呼ばれたときはどのアクションが呼ばれるのでしょうか?
1年ちょいで痴呆が始まったようです;;
どなたかお助けを。
0367366
2012/07/15(日) 17:26:12.55ID:???■ このスレッドは過去ログ倉庫に格納されています