ラベル Yii の投稿を表示しています。 すべての投稿を表示
ラベル Yii の投稿を表示しています。 すべての投稿を表示

2013/02/06

Yiiですべてのリクエストを同じコントローラで処理する

protected/config/main.php
のurlManagerの設定を変更

'rules'=>array(
''=>'site/',
'/'=>'site/',
),

↑の設定は全てをSiteController.phpで処理する。
僕は小さいサイトでコントローラが一つで済むような場合この設定にします。

2013/02/05

Yiiでテーブルをtruncateする

$command = new CDbCommand(Yii::app()->db);
$command->truncateTable("table_name");

これで各DBに対応したtruncate文を作成しexecuteしてくれます。

2011/09/01

Yiiで作成したアプリをさくらのレンタルサーバーに移した

Yiiを使って作成したアプリをさくらのサーバーに乗せた。
開発環境はScientificc Linux 6.0だったので色々問題が出るかと思ったけど
案外あっさりいった。

唯一ハマったところはcronのところで
CreateConsoleApplication()が正しく動かなかった。

原因はphpのバージョンがデフォルトで5.1系か5.2系なので
__DIR__が使用出来なかったため。

コントロールパネルからphpのバージョンを5.3.6にして完了。
あと目立った変更箇所は.htaccessにRewriteBase / を追加したくらい。

2011/08/12

【Yii】コントローラー間で共通のviewを使用する方法

例えばsiteコントローラ内で
$this->render("test");
とすると
views/site/test.php
が使用されます。

他のコントローラーでも共通で使用できるviewは
どうすればいいのかを探していたのですが
renderの第一引数を"/"から始めればviews/のファイルが読まれるようです

先ほどの例でいうと
$this->render("/test");
とすると
views/test.php
が使用されます。

2011/07/09

Yiiでマルチバイト文字でのバリデーションを行う方法

Yii 1.1から以下のようにルールにencodingを渡すことにより
マルチバイト文字での長さチェック等ができるようです。

array('string', 'length', 'max'=>10 , "encoding" => Yii::app()->charset)

参考URL
http://www.yiiframework.com/forum/index.php?/topic/2721-yii-multibyte-safe/

2011/07/05

yiiでwhere in でデータを取得

ちょっと詰まった。
フォーラムの記事を参考にして解決
problem with createInCondition

$criteria = new CDbCriteria();
$criteria->addInCondition('id', array(1,2,3));
$result=User::model()->findAll($criteria);

createInCriteria()の第4引数にパラメータうんぬんって書いてあるけど
第4引数はprefixでした。
使ってないので僕の場合は不要。

2011/06/28

YiiでURLからindex.phpを消す方法

.htaccessを変更するだけだとウィジェットで作られるリンク(デフォルトのテンプレートで使われている)
にはindex.phpが付いたままにななるので

config/main.php

'urlManager' => array(
'showScriptName' => false ,
.....

を追加

2011/05/14

Yiiでgiiモジュールアクセスで403になる場合の回避法

公式サイトのスキャフォールディング
/webroot/application/protected/config/main.php
に以下のコードを追加と書いてあるので追加します。

return array(
......
'import'=>array(
'application.models.*',
'application.components.*',
),

'modules'=>array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'pick up a password here',
   'ipFilters'=>array('127.0.0.1','::1'),
),
),
);
giiの部分はもともと書いてありコメントアウトになっているので
それを外すだけです。

これだけだとローカルホスト以外の場合アクセス出来ないので
制限を外す場合
'ipFilters'=>array('*'),
とすると全てのホストからアクセス出来ます。
'ipFilters'=>array('127.0.0.1','::1'),

Yii

新しいプロジェクトでphpフレームワークのYiiを使用することにしました。
日本語ドキュメントが少ないのでつまずいたこととかをメモっていこうと思います。