サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
yasigani-ni.com
JavaScriptは、小数点第N位以下切り捨てという関数は用意されていません。 というわけで、『JavaScriptで小数点第N位以下切り捨てる方法』をメモも兼ねてブログに残しておきます。 最初にも書いたように、小数点第N位以下切り捨てる関数は用意されていませんが、小数点以下を切り捨てる関数や四捨五入する関数はあります。 これらの関数を利用し、ちょっとした計算をすることで、小数点第N位以下切り捨てなどを実現します。 Math.floor() 小数点以下を切り捨てる。 Math.ceil() 小数点以下を切り上げる。 Math.round() 四捨五入する 『9.87654321』という数があったとします。 この数を小数点第2以下切り捨てる場合、まずは、『9.87654321』を10倍にしてしまいます。 var val = 9.87654321; val *= 10; 結果 val
CakePHPは、webroot以外のディレクトリは、どこにでも配置できるみたいです。 (当然の事ですが、webrootはアクセスできるディレクトリに配置しないといけません。) せっかく非公開ディレクトリを使用できるんですし、webroot以外は非公開ディレクトリに移動しちゃおうって事になりますよね。 さっそく移動させてみましょ。 公開ディレクトリを「/var/www/」 非公開ディレクトリを「/cgi-bin/」として、 「http://cakephp-test.yasigani-ni.com」でアクセスできるようにしたいと思います。 まずは、「webroot」内に配置されているディレクトリやファイルを公開ディレクトリ上に移動させます。 次に、「webroot」以外のディレクトリを非公開ディレクトリに移動。 最後に、webroot内に配置されていたindex.phpを編集します。 編集す
ACLコンポーネントを使ってみた結果を結論から言うと、ACL(アクセス制御リスト)ってすごい便利だと思います。 ACLとは、マニュアルにも書いてあるように「優れた保守性と管理性を保ちつつ、アプリケーションのパーミッションをきめ細かく設定する」機能を提供してくれます。 例えば、管理者しかアクセスできないコントローラーやアクションを設定することができます。 「これは是非とも使いたい」と思い、マニュアルを見たのですが、説明がすごく分かりにくかった・・・ というわけで、自分のためにもブログに残しておきます。 (文章力がないのでマニュアルより分かりづらくなりそうですが・・・) 適当なコントローラーにアクションをいくつか作成し、管理者(administrators)、運営者(managers)、利用者(users)の3つのグループとユーザーを作成。グループごとにパーミッションを設定していく流れで説明し
CakePHP サニタイズでエスケープされた改行コードを元に戻す簡単なコンポーネントを作ってみる time 2011/10/04 folder CakePHP 『Sanitize::clean』でサニタイズを行うと、改行コードもエスケープされます。 このままでは、『textarea』要素に入力された改行がない状態になり、想像していた表示にならないことがあります。 下記の赤文字の部分がサニタイズ時にエスケープされた改行コードです。 ▼サニタイズされた『textarea』要素のテキスト 登録時に『Sanitize::clean』を使用しサニタイズを行いました。\n\nこのテキストは確認用です。 このままでは『nl2br』関数も使用できないので、コンポーネント作成の練習も兼ねて、『\\\n』を『\n』に戻す簡単なコンポーネントを作りたいと思います。 (※表示では『\n』ですが、実際はエスケープシ
CakePHPを勉強している時に、「appディテクトリを複数管理できたらいいな~」と思いました。 理由としては、複数の管理画面を持つシステム開発や同じサーバー内で複数のサイトを運営する場合などを想定したからです。 appを複数管理なので、CakePHPのコアを共有することで生まれるメリット(サーバーリソースの節約やCakePHPのバージョンアップ対応)もあります。 というわけで、さっそくやってみましょ。 まずは、「公開ディレクトリ上にCakePHPを配置した状態で、サイトを訪問するユーザー用と運営者用のappディレクトリを作成」してみます。 『http://cakephp-test.yasigani-ni.com/』にアクセスすると、サイトを訪問するユーザー用アプリケーションを表示。 『http://cakephp-test.yasigani-ni.com/admin/』にアクセスすると、
前回の記事、『CakePHP サニタイズでエスケープされた改行コードを元に戻す簡単なコンポーネントを作ってみる』で簡単なコンポーネントを作成したのですが、色々考えた結果「データの加工などの処理はモデルで行うべきだ」との考えに至ったので、前回作成したコンポーネントと同じ処理をするビヘイビアを作成してみたいと思います。 作成するビヘイビアのメソッドとしては、『サニタイズでエスケープされた改行コードを元に戻す』『HTMLエンティティを特殊文字に置き換える』です。 ビヘイビアは、『ModelBehavior』クラスを継承して作成します。 ▼『ModelBehavior』クラスを継承 class HtmlDecodeBehavior extends ModelBehavior { public $name = 'HtmlDecode'; } CakePHPの命名規則に則り、『/app/models/
CakePHPでは、『App:import』を使用することで、パスを意識せずにクラスを読みこむことができます。 よく使う処理をまとめたクラスなどを『vendors』に入れておき、『App:import』で読み込んだりすると楽になるみたいです。 ※マニュアルによると、「App::import()は次のことを保証します。クラスが1度しかロードされないこと。適切な親クラスがロードされること。そして数多のケースで自動的にパスを解決することです。『App::import』は、ファイルを『require』で読み込むことと同じです。その後にクラスを初期化する必要があるということを意識しておいてください。」らしいです。 当たり前といえば当たり前ですが、使用したい場合はインスタンス化を忘れないって事ですね。 コアライブラリ App::import(‘Core’, ‘インポートしたいコアライブラリ名’) コン
CakePHP1.3系のAuthコンポーネントを使ってみました。 簡単に実装できる認証システムなので、僕自身の復習も兼ねて実装方法を紹介しようと思います。 まずは、テーブルを作成します。 Authコンポーネントは、デフォルトの状態だと『users』というテーブルを使用します。 『users』テーブルには、『username』と『password』を作成しないといけません。 注意点は、ログインパスワードはデフォルトの状態だと『sha1』でハッシュ化されるので『password』には最低でも40文字以上は保存できるようにすることぐらいです。 (※使用するテーブル名やカラム名を指定する事もできるので、違う名前をつけてもかまいません。ハッシュ関数を『sha1』以外を使用したい場合は、使用したいハッシュ関数に合わせて『password』の長さを変更してください。) ▼『users』テーブルを作成する
CakePHP 便利な組み込みビヘイビア『ContainableBehavior』の使い方 time 2011/10/12 folder CakePHP cakePHPは、複数テーブルの結合を簡単に実現できます。 が、何も指定せずに『find』でデータを取り出すと、結合しているテーブルのデータも大量に取り出すことになります。 「このテーブルは、1つのフィールドからデータを取り出せればいいのに・・・」って時に活躍してくれるのが『ContainableBehavior』です。 取り出したいフィールドや、条件に一致する場合のみデータを取得なんてことが簡単にできるようになります。 そんな便利なビヘイビア『ContainableBehavior』の使い方を、簡単なブログ(?)みたいなシステムを例にして紹介したいと思います。 (※モデルでの使用を例にしますが、コントローラーから使用する方法も基本的に同
CakePHP コントローラーのメソッドを『private』や『protected』にする方法 time 2011/10/01 folder CakePHP CakePHPでコントローラーのメソッドを『private』宣言や『protected』宣言したい場合は、メソッド名の前に『_(アンダーバー)』をつけることで実現できます。 (『private』や『protected』については、「PHP publicとかprivateとかの修飾子」参照。) 『private』なメソッドを作成したい場合は『__(アンダーバー2個)』。 『protected』なメソッドの場合は、『_(アンダーバー1個)』をメソッド名の前につけます。 こうする事で、自動的に『private』や『protected』メソッドとなります。 ▼『private』『protected』メソッドの作成例 class TestsCo
このページを最初にブックマークしてみませんか?
『Yasigani-ni Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く