サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
www.tailtension.com
スポンサードリンク CakePHP CakePHPで動かしていると どうもブラウザキャッシュの影響で 更新しても、変わっていないということがありました。 CakePHPでブラウザにキャッシュさせない方法です。 スポンサードリンク 色々調べていたらCookbookに載ってました。 リクエストとレスポンスオブジェクト 以下のようにキャッシュさせたくないコントローラーのアクション内に記述します。 public function index() { $this->response->disableCache(); } 簡単にできるんですね。 コントローラー全体にかけたい場合はbeforeFilterに サイト全体にかけたい場合はAppContorollerに書いてあげればいいですね。 ちなみにCakePHPじゃない場合も書いておきます。 HTMLに直接書く場合は headタグ内に以下のように書きま
スポンサードリンク CakePHP findを使う際に ORで条件指定したいときがあって ORの条件を出すのに苦労したので その覚書です。 スポンサードリンク 違うフィールドでのOR条件 例えば以下のようなSQL文を出したいとき SELECT * FROM posts AS Post WHERE ((user_id = 1) OR (created = '2013-12-18')) findのconditionsでORを連想配列として指定します。 $this->Post->find('all', array( 'conditions' => array( 'OR' => array('user_id' => 1, 'create' => '2013-12-18') ) ) ) 同じフィールドでのOR条件 例えば以下のようなSQL文を出したいとき SELECT * FROM posts AS
スポンサードリンク CakePHP CakePHPはルールに従って テーブルのカラム名を付けます。 そのおかげでアソシエーションした時に 自動でカラムをつなげてくれるのですが、 基本は1テーブルに1つの外部キーです。 しかし、2つの外部キーがあって それぞれ参照先が同じテーブルの主キーだった場合の方法です。 スポンサードリンク モデルのアソシエーションでカラムを指定 モデルにアソシエーションを書くときは 基本、モデル名を書くだけで 自動に「テーブル名_id」でテーブルをつなげてくれます。 しかし、2つの外部キーがあって それぞれ参照先が同じテーブルの主キーだった場合は 「テーブル名_id」ではなく別の名前でカラム名を付けます。 そして、アソシエーションするときにカラムを指定します。 (例) Userモデル(usersテーブル)のidを Messageモデル(massagesテーブル)のse
スポンサードリンク jQuery $.ajaxの動作で 指定したurlのデータが更新されていても 内容が変わらないという事がありました。 どうもIEのみの話みたいです。 なので、対処としてキャッシュを無効化にしました。 スポンサードリンク ajaxを使う前にキャッシュを無効化 Google先生に聞いたところ 結構同じことで詰まっている人が多かったので 対処方法がいっぱいありました。 // $.ajaxを呼び出す前に記述 $.ajaxSetup({ cache: false, }); 上記のように書くとキャッシュを無効化してくれるようです。 どうも、IEは一度ファイルを読み込んだあと キャッシュを読みに行くようです。 FirefoxやChromeは問題ないようなんですね~ とりあえず、上記のキャッシュ無効化で対応しました。 スポンサードリンク
スポンサードリンク CakePHP 現在実行中のColtroller、action名を 取得したいことがありましたので そのColtroller、action名を取得する方法です。 スポンサードリンク Viewで名前を取得 1.コントローラー名の取得 echo $this->name 2.アクション名の取得 echo $this->action これでコントローラやアクションによって ビューの中身を分岐させれます。 スポンサードリンク
スポンサードリンク PHP 前回PHPExcelで出力したんですが、 (CakePHP2.x)Excel出力のためPHPExcelを設置してみる セル内で改行させたかったので その方法です。 スポンサードリンク 改行するための定数PHP_EOL $PHPExcel->setActiveSheetIndex(0); //0はsheet1(一番左のシート) $sheet = $objPHPExcel->getActiveSheet(); $cell = '改行前' . PHP_EOL . '改行後'; $sheet->setCellValue('C5', $cell); 最初¥nでやってみても改行されませんでした。 OSに合わせた改行コードを入れてくれる定数のPHP_EOLを使うと 改行ができました。 OSの種類 改行コード 改行コード文字 Windows
スポンサードリンク PHP MySQLを使っているのですが、 そのデータのバックアップをいつもphpMyAdminから バックアップを取っていたのですが、 それを、WEB上からバックアップできるようにする方法です。 スポンサードリンク mysqldumpコマンドを使うためのPHPのsystem関数 こちらを参考にさせて頂きました。 XserverでPHP+mysqldump使ってDBをバックアップする方法 $dbHost = "データベースのホスト名"; $dbUser = "データベースのユーザー名"; $dbPass = "データベースのパスワード"; $dbName = "データベースの名前"; $filePath = "保存する場所への絶対パス"; $fileName = date('ymd').'_'.date('His').'.sql'; $command = "mysqldu
スポンサードリンク MySQL MySQLで文字を置換することができるんですね。 ずっと、PHPで文字を入れ替えて UPDATE文を一つ一つ作って 文字を入れ替えてました。 スポンサードリンク 文字列置換関数 REPLACE() REPLACE(カラム名, '置換前の文字', '置換後の文字') 上記の感じで文字を置換できます。 (使い方) UPDATE `table_name` SET column = REPLACE(column, "abc", "あいう"); このようにすると、 カラムにある「abc」という文字を「あいう」という文字に 置換してUPDATEしてくれます。 もう少し早く知ってればよかったな~。 (参考) MySQLだけで文字列を一括置換する スポンサードリンク
スポンサードリンク CakePHP 開発も波に乗ってきました。 そんなことはないですが・・・w ある程度の形はできてきたので そろそろログイン機能を実装してみたいと思います。 スポンサードリンク ログイン機能の準備 CakePHPには自動的にログインできる? 機能がついているので それを使って実装していきます。 Userテーブルを作る 会員機能の元となるUserテーブルを作成します。 CREATE TABLE users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), password VARCHAR(50), created DATETIME DEFAULT NULL, modified DATETIME DEFAULT NULL ); CakePHPではusersテーブルを作り カラムにuserna
スポンサードリンク CakePHP Formヘルパーを使ってラジオボタンを作る方法です。 作ったはいいですが、 結局、使わなかったのでw 覚書として書いておきます。 スポンサードリンク ラジオボタンの作り方 まず、コントローラーでラジオボタンに使うデータを用意します。 (例)PostsController.php $radio = $this->Post->find('list', array('fields' => array('id', 'title'))); $this->set('radio', $radio); 次に、ビューでラジオボタンを実装します。 (例)Posts/add.ctp $this->Form->input('title', array( 'legend' => false, 'type' => 'radio', 'options' => $radio )); ラ
スポンサードリンク cake-logo CakePHPを触り始めて早1週間 なんとなく、使いやすさは分かってきたけど まだ、サクサク書けないですね。 ピュアPHPで書いてた時は その都度、書き換えていたので ルールを身に付けるまでは辛抱です。 さて、今回は論理削除を試してみました。 やはり、完全にデータを消すと 後々面倒なことがありそうですからね。 スポンサードリンク SoftDeleteBehaviorを使って論理削除してみる CakePHPのビヘイビアにSoftDeleteBehaviorというのがありまして こちらを使用して論理削除の設定をしてみました。 1.SoftDeleteBehaviorをダウンロードして設置 SoftDeleteBehavior.php CakeDCのutilsからファイルをダウンロード utils / Model / Behavior / SoftDele
スポンサードリンク CakePHP フォーム画面を作っているのですが、 どうしても処理を分けたい内容が出てきたので submitを2つ作って処理を分けることにしました。 スポンサードリンク submitに名前を付ける PHPでも普通にできるsubmitボタンに名前を付けて コントローラー側で名前を判断して処理をするという 仕組みを実装します。 ビューファイルでsubmitに名前を付けたものを準備 <?php echo $this->Form->create('Model'); ?> ・・・ 略 ・・・ <?php echo $this->Form->submit('確認画面へ', array('name' => 'submit')); ?> <?php echo $this->Form->submit('削除する', array('name' => 'delete')); ?> <?php
スポンサードリンク CakePHP ViewにJavascriptを書く方法ですが、 よく忘れてしまうので 覚書として書いておきます。 スポンサードリンク ViewにJavascriptを読み込む方法 初めての[CakePHP2.x]での開発、そして挫折するまで日記~その6 jQueryの読み込み Javasciptファイルを作った場合の jsファイルの読み込み方は上記のjQueyの読み込みと同じです。 app/webroot/jsにjavascriptファイルを置きます。 置いたら以下のようにViewファイルに書きます。 (例)app/webroot/js/test.js <?php echo $this->Html->script('test', array('inline' => false)); ?> 第2引数を空にするか、falseにすると head内にscriptタグが挿入され
スポンサードリンク CakePHP 前回、ExcelReviserを使おうとしたのですが、 サーバーが64bitだったため使えず・・・ そのため、結構使われている PHPExcelを設置しました。 スポンサードリンク Excel出力の流れ 今回は「Excel作成」というボタンを押すと 事前に用意してあるテンプレートファイルに DBからのデータを埋めていって Excel95形式(.xls)でダウンロードするという流れです。 PHPExcelをダウンロード まず、PHPExcelのサイトで 赤枠の「download」からダウンロードします。 ※現時点ではバージョンは1.7.9です。 PHPExcel ダウンロードするとフォルダの中身以下のような感じです。 PHPExcelの中身 使うのは「Classes」フォルダの中身だけです。 スポンサードリンク CakePHP側にPHPExcelを移動 先
スポンサードリンク CakePHP CakePHPのバリデーションはめちゃくちゃ便利なんですが バリデーションルールだけでは うまくいかない時があります。 そんな時に、独自でバリデーションルールを 作って対応できます。 色々できて便利なCakePHPです。 スポンサードリンク 独自バリデーションの書き方 独自バリデーションルールの書き方です。 (例)Brunch.php public $validate = array( 'brunch_name' => array( 'rule1' => array( 'rule' => 'notEmpty', 'required' => true, 'allowEmpty' => false, 'message' => '支社名が入力されていません' ), 'rule2' => array( 'rule' => 'checkOnly',//独自に作った
Font Awesome Font AwesomeはWebフォントなので、 CSSで色を変えたり、大きさを変えたりできます。 アイコンの数は369個あります。 ※記事執筆時点 Font Awesomeアイコン一覧 Font Awesomeの読み込み スポンサードリンク 本家サイトからCSSを読み込む 一番簡単なのはheadタグにCSSのリンクを張るだけです。 <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> これが一番簡単な方法です。 ダウンロードしてサイト内で読み込む ファイルをダウンロードして読み込む方法もあります。 ダウンロード サイトの赤枠からファイルをダウンロードします。 ダウンロードした圧縮ファイルを解凍すると以下のようになってます。
スポンサードリンク jQuery フォームのセレクトボックスで 複数選択するときに、 標準のままだと Ctrlキーを押しながら選択しなければいけないのと 選択したものがわかりにくいと感じたため 2つの窓を使って選択できるものが欲しかったのです。 今回、ちょうどいいプラグインがあったので使ってみました。 スポンサードリンク 1.本家サイトに行ってプラグインをダウンロード jQuery multiselect jQuery multiselect 上記のURLのサイトへ行って ヘッダーにあるダウンロードからプラグインをダウンロードします。 2.ダウンロードしたファイルをアップロード ダウンロードしたフォルダの中で使うのは css/multi-select.css img/switch.png js/jquery.multi-select.js の3つのファイルです。 各ファイルを使うサイトの
スポンサードリンク EC CUBE ロゴ 作業中よく忘れてしまう テンプレートのパス 覚えておくといいのですが、 中々覚えられないので テンプレートで使うパスの一覧を作成しました。 スポンサードリンク
スポンサードリンク CakePHP プラグインなど豊富にあるCakePHPですが、 たまに、プラグインがないものがあったりします。 そこで、ライブラリなどをそのまま取り込んで 使えるようにするための方法です。 スポンサードリンク Vendorディレクトリに入れるだけ やり方は簡単で app/Vendorディレクトリにファイルを入れます。 入れたらコントローラーやビューファイルで ファイルを読み込むだけです。 読み込む方法は2つあります。 1.usesで読み込む App::uses('ファイル名', 'Vendor’); 2.importで読み込む App::import('Vendor', 'ファイル名'); Vendorの中にディレクトリを作って入れている場合は 上記のファイル名の場所をフォルダから指定します。 1.usesで読み込む App::uses('ディレクトリ名/ファイル名',
スポンサードリンク Bootstrap 最近知ったのですが、 Twitter Bootstrapという CSSのフレームワークというものを使ってみました。 これは便利です。 スポンサードリンク Twitter Bootstrapとは Twitter Bootstrapは、そのままの通り、ツイッターを作っている米ツイッター社が 無償で提供しているCSSのフレームワークです。 見た目のデザインを簡単に調整してくれる 便利なツールです。 簡単に設置可能なツール Twiiter Bootstrapは簡単に設置できます。 1.Bootstrapをダウンロード まず、Twitter Bootstrapのサイトへ行きダウンロードします。 bootstrap_DL 赤字の部分からダウンロードします。 圧縮ファイルを解凍すると「css」、「img」、「js」の3つのフォルダがあります。 「css」フォルダの
スポンサードリンク jQuery ECサイトで商品の説明文などを登録する方たちが 自分たちで文字を装飾できるようにしてほしいという 要望が上がってきたので、簡単に設置できる jQUeryプラグインのWYSIWYGエディタ『CLEditor』を導入しました。 CLEditor スポンサードリンク 入れたいものの条件 コンセント 要望があったものでは、以下のものです。 フォントサイズが変えられるもの フォントカラーが変えられるもの この2つの条件を満たすもので 尚且つ、使う人が簡単に操作できるものを探していたら、 『CLEditor』というものを見つけて、 内容を確認したら使い勝手がよさそうなものがだったので導入しました。 CLEditorのサイトへ行って「CLEditor Version 1.3.0」をダウンロード CLEditer-ダウンロード CLEditorのサイトへいって 赤枠部分か
スポンサードリンク jQuery ページ送りを作るのは結構難しいですけど、 jQueryを使うと簡単に実装できます。 その中でも、簡単にページ送りを実装できる jQuery Pagenationというものがあるので それをを導入してみました。 スポンサードリンク Query Paginationの設置方法 jQuery Pagination Pluginのサイトへ行きプラグインをダウンロード jQuery Pagination Plugin jQuery-Pagination-Plugin ※画面の赤枠からダウンロードできます。 【追記】どうもサイトがなくなっているようです。 16 Beautiful jQuery Pagination Plugins 上記のサイトではダウンロードできるようです。 「jQuery Pagination Plugin」という名前のプラグインで紹介されています
このページを最初にブックマークしてみませんか?
『日々の覚書…日常のことも少しだけ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く