Bug(バグ) #965
プラグインを無効にした状態でmigrateを実行するとフォームに不要な要素が表示されるようになる
100%
説明
関連するチケット
関係しているリビジョン
fixed the process of configuration, bacause doctrine:build task generate some unnecessary file of form class (fixes #965)
fixed the process of configuration to the performance (fixes #965)
履歴
#1 Shogo Kawahara がほぼ14年前に更新
- 担当者 を削除 (
Shogo Kawahara)
#2 Shogo Kawahara がほぼ14年前に更新
- 担当者 を Shogo Kawahara にセット
#3 Shogo Kawahara がほぼ14年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 35aeb0a6516260959ba8877d89997c1229835abc で適用されました。
#4 Kousuke Ebihara がほぼ14年前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
問題ないように見えますが、パフォーマンスの観点から以下二点指摘させてください(細かいですが……)
opProjectConfiguration に正規表現でマッチングをおこなっている箇所がありますが、sf_task_name をセットしたい状況では $subject にはタスクのクラスインスタンスが格納されているのですから、 instanceof 演算子で sfTask を継承しているかどうかをチェックすればよいはずです。
$subject = $event->getSubject(); if (preg_match('/Task$/', get_class($subject))) { sfConfig::set('sf_task_name', get_class($subject)); }
また、 opApplicationConfiguration にも正規表現でマッチングをおこなっている箇所がありますが、前述のようなコードでは sf_task_name にタスクのクラス名以外の文字列が渡ることは考えにくいため、 Task で終わっている文字列かどうかをチェックする必要はないと思われます。
Task で終了しているかどうかのチェックが不要であるという前提だと、 sfDoctrineBuild で開始されているかどうかをチェックするだけになるので、正規表現よりも strpos() でのチェックの方がお手軽かつパフォーマンス的に有利ということになると思いますがどうでしょうか。
if (!preg_match('/^sfDoctrineBuild.*Task$/', sfConfig::get('sf_task_name')))
#5 Shogo Kawahara がほぼ14年前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
確かにその通りです。修正します。
Kousuke Ebihara は書きました:
問題ないように見えますが、パフォーマンスの観点から以下二点指摘させてください(細かいですが……)
opProjectConfiguration に正規表現でマッチングをおこなっている箇所がありますが、sf_task_name をセットしたい状況では $subject にはタスクのクラスインスタンスが格納されているのですから、 instanceof 演算子で sfTask を継承しているかどうかをチェックすればよいはずです。
[...]また、 opApplicationConfiguration にも正規表現でマッチングをおこなっている箇所がありますが、前述のようなコードでは sf_task_name にタスクのクラス名以外の文字列が渡ることは考えにくいため、 Task で終わっている文字列かどうかをチェックする必要はないと思われます。
Task で終了しているかどうかのチェックが不要であるという前提だと、 sfDoctrineBuild で開始されているかどうかをチェックするだけになるので、正規表現よりも strpos() でのチェックの方がお手軽かつパフォーマンス的に有利ということになると思いますがどうでしょうか。
[...]
#6 Shogo Kawahara がほぼ14年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
更新履歴 0260664ac8c4cbe9cd716b88f5a7d8c26f0da61f で適用されました。
#7 Kousuke Ebihara がほぼ14年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
#8 Kiwa Sakai がほぼ14年前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 50 から 100 に変更