コントローラーはAppController を継承する
※間に1つ別のクラスを挟んだりしてもいいんだよな、多分…
-名前の定義
public $name
コントローラ名を定義する。1文字目は大文字。パブリックにする
-モデルの定義
public $uses = array('Table');
使うモデルの定義
そのコントローラーで使うモデルを定義しておく。
省略した場合は、コントローラー名の単数形のモデルを使う。
1つのテーブルしか使わないってことはそんなにはないよね?
-アクションの定義
function index(){}
メソッドとして登録
アクセスするURLは「/コントローラ名/アクション名」になる
省略した場合はindexアクション
php4の時は、メソッド名の最初を_(アンダースコア)で始めると、URLで指定してもアクセスできなかったみたい。
俺のとこはPHP5なんでprivateにしとけばいいんだろうけど。アンダースコアはいるのかな?試してみよう
-変数をビューに渡す
$this->set(変数名, 値)
cakePHP1.3からはfindAllはなくなったみたい。
find('all');で同じ動きになる
参考
CakePHPで作るToDoアプリ(1)
2011/07/15
[cakePHP] cakePHPのデータベース、テーブルのルール
・データベース(以下DB)のテーブル名は複数形にする
・テーブルの主キーのカラム名はid
・作成日時はcreated、更新日時はmodifiedにする
※この名前にしておくと、自動で更新してくれる。
・外部キーに使用するカラム名は「関連付けたいモデル名」_id
※データベースの設定でprefixを付けていても、外部キーはprefixを無視してモデル名_idでつける
どれを単数形にして、どれを複数形にするかはすぐわすれてしまうなー
・テーブルの主キーのカラム名はid
・作成日時はcreated、更新日時はmodifiedにする
※この名前にしておくと、自動で更新してくれる。
・外部キーに使用するカラム名は「関連付けたいモデル名」_id
※データベースの設定でprefixを付けていても、外部キーはprefixを無視してモデル名_idでつける
どれを単数形にして、どれを複数形にするかはすぐわすれてしまうなー
2011/07/13
[JavaScript] 要素を追加する
■子供要素を追加する方法
appendChildだと親要素の最後に子要素を追加できる
elem.appendChild(childElem);
先頭に追加したい場合はinsertBeforeを使う
insertBeforeは指定した要素の前に、新しい要素を追加できる
parent.insertBefore(追加したい要素, 既存要素);
なので先頭に追加したい場合は
parent.insertBefore(追加したい要素, parent.firstChild);
これで現状の最初の子要素の前に新要素を追加できる
■指定の場所に追加する
指定の要素の前に追加できる
node.insertBefore(elem);
参考
[JavaScript] DOM Nodeに子ノードを
appendChildだと親要素の最後に子要素を追加できる
elem.appendChild(childElem);
先頭に追加したい場合はinsertBeforeを使う
insertBeforeは指定した要素の前に、新しい要素を追加できる
parent.insertBefore(追加したい要素, 既存要素);
なので先頭に追加したい場合は
parent.insertBefore(追加したい要素, parent.firstChild);
これで現状の最初の子要素の前に新要素を追加できる
■指定の場所に追加する
指定の要素の前に追加できる
node.insertBefore(elem);
参考
[JavaScript] DOM Nodeに子ノードを
2011/07/12
JavaScriptで位置情報を取得する
スマートフォンサイトで位置情報を取得する処理があった。
コードはこんな感じ
iPhoneではうまく動いたのに、Androidでは動かないけど、エラーも出ない。
確認してみるとnavigator.geolocationは確かにある。
調べてみると、Androidの設定によっては位置情報を取得できないみたい。
「設定」→「位置情報とセキュリティの設定」の中の「無線ネットワークを使用」と「GPS機能を使用」の両方にチェックを入れたら反応するようになった。
デフォルトで反応しないとなると、位置情報を使ったサービスを使わせるための引きこみが必要になるなー
※試したのはXPERIA SO-01B(Android 2.3)ってやつ。他人のもの(2人にお願いした)だったので、詳細はわからないけど、2人ともGPS絡みの設定はやったことないとのことなので、工場出荷状態だとGPSは反応しないみたい
コードはこんな感じ
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(pos){
//取得成功時の処理
}, function(){
//エラー時の処理
});
} else {
error('not supported');
}
iPhoneではうまく動いたのに、Androidでは動かないけど、エラーも出ない。
確認してみるとnavigator.geolocationは確かにある。
調べてみると、Androidの設定によっては位置情報を取得できないみたい。
「設定」→「位置情報とセキュリティの設定」の中の「無線ネットワークを使用」と「GPS機能を使用」の両方にチェックを入れたら反応するようになった。
デフォルトで反応しないとなると、位置情報を使ったサービスを使わせるための引きこみが必要になるなー
※試したのはXPERIA SO-01B(Android 2.3)ってやつ。他人のもの(2人にお願いした)だったので、詳細はわからないけど、2人ともGPS絡みの設定はやったことないとのことなので、工場出荷状態だとGPSは反応しないみたい
2011/07/06
[JavaScript] 親要素・子要素・兄弟要素の取得方法
JavaScriptでの要素の取得方法。ライブラリばっかり使ってると忘れてしまうので
■親要素
element.parentNode
■子要素
子供一覧
element.childNodes //NodeListオブジェクトが返ってくる
※子要素がない場合でも、空っぽのNodeListオブジェクトが返ってくる
最初の子
element.firstChild
最後の子
element.lastChild
■兄弟要素
兄ちゃん要素
element.previousSibling
弟くん要素
element.nextSibling
改行なんかもTextノードだと認識されるので、注意
jQueryでの取得方法もまとめてます
jQuery親要素、子要素、兄弟要素取得のまとめ
参考
ノード木を探索する
■親要素
element.parentNode
■子要素
子供一覧
element.childNodes //NodeListオブジェクトが返ってくる
※子要素がない場合でも、空っぽのNodeListオブジェクトが返ってくる
最初の子
element.firstChild
最後の子
element.lastChild
■兄弟要素
兄ちゃん要素
element.previousSibling
弟くん要素
element.nextSibling
改行なんかもTextノードだと認識されるので、注意
jQueryでの取得方法もまとめてます
jQuery親要素、子要素、兄弟要素取得のまとめ
参考
ノード木を探索する
2011/07/05
[iPhone] CSSアニメーションがちらつく場合
iPhoneでCSSアニメーションを使う場合、画面がちらついてしまう時がある。
俺の場合は、位置を移動させるtranslateXを-webkit-transitionでアニメーションさせようとした時に起きた。
Androidでは起きない症状。
translateXの指定をtranslate3dに変更することでちらつきはなくなった。
-webkit-transform: translateX(100px);
↓↓↓ 変更 ↓↓↓
-webkit-transform: translate3d(100px, 0px, 0px);
参考
スマートフォン制作のツボ最新を聞いてきた-CSS Nite,LP13
俺の場合は、位置を移動させるtranslateXを-webkit-transitionでアニメーションさせようとした時に起きた。
Androidでは起きない症状。
translateXの指定をtranslate3dに変更することでちらつきはなくなった。
-webkit-transform: translateX(100px);
↓↓↓ 変更 ↓↓↓
-webkit-transform: translate3d(100px, 0px, 0px);
参考
スマートフォン制作のツボ最新を聞いてきた-CSS Nite,LP13
[iPhone] アニメーションは CSSでやるべし
iPhoneのアニメーションをJavaScriptでアニメーションすると非常にもっさりとして、コマ落ち気味の乙な動きになってしまうので、CSS3の-webkit-transitionを使用しようしようしよう。
イージングの種類が少ないのが残念だけど、動きの滑らかさはJavaScripとは比べ物にならない
参考
CSS3 変形処理を行う transform プロパティ
イージングの種類が少ないのが残念だけど、動きの滑らかさはJavaScripとは比べ物にならない
参考
CSS3 変形処理を行う transform プロパティ
登録:
投稿 (Atom)