タグ

ブックマーク / bashalog.c-brains.jp (10)

  • 【CakePHP3】テーブルオブジェクトからスキーマ情報を参照する | バシャログ。

    梅雨のジメジメにめっぽう弱い kagata です。 今回は表題のとおり CakePHP3 のテーブルオブジェクトからスキーマ情報を参照していろいろやる方法をご紹介します。Cake3 のモデル周辺は、べんりな道具が当に充実していますよね。 例題1:入力データの null を空文字列に置き換える 例えば、データベースに次のようなテーブルがあるとします。 CREATE TABLE `posts` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `subject` varchar(255) NOT NULL, `body` text NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, PRIMARY KEY (`id`) ) null を撲滅するため、どのカラムにも n

    【CakePHP3】テーブルオブジェクトからスキーマ情報を参照する | バシャログ。
  • CakePHP3.4が PSR-7に対応していた話(と、ミドルウェアの話) | バシャログ。

    夏は暑いので、むやみに遊びに出かけたりしないで冷房の効いたオフィスでいつもどおり仕事をしている kagata です。 さて、今回は CakePHP3.4でおこなわれた仕様変更のお話です。稿執筆中に CakePHP3.5がリリースされてしまってどうにも機を逸した感がありますが、気を取り直して進めます。 例題:HTTP レスポンスにヘッダを追加する CakePHP3.4での仕様変更を端的に示す例として、次のようなお題を考えます。 CakePHP アプリケーションが返す HTTP レスポンスに、ヘッダ My-Foo: bar を追加してみましょう。 CakePHP3.3まで 従来は、破壊的メソッド Cake\Http\Response::header() で次のようにしていました。 // コントローラで $this->response->header('My-Foo', 'bar'); Cak

    CakePHP3.4が PSR-7に対応していた話(と、ミドルウェアの話) | バシャログ。
    orenonihongogayabai
    orenonihongogayabai 2017/08/24
    3.4、この変更が大きいのでアプデ時要注意
  • 【PHP】nl2br()が動かなくて地味にハマった事について | バシャログ。

    AWSシンプルアイコンを見るとキン消しを思い出します。fukasawaです。こんにちは。 こんな事言うと年齢がばれそうですね。 今回はPHPの小ネタです。PHPには改行文字(\r\n、\n\r、\n 、\r)を<br />に変換してくれる nl2br()という関数があります。この関数を使った部分が上手く動かず、地味にハマった事について書いてみたいと思います。 現象 先日、不具合のチケットを対応した際「登録が完了しました。\n対象件数は●件です。」というメッセージが画面に表示されているのを見つけました。「\n」がそのまま出力されているので、誰かが実装したときに変換し忘れたのだと思いソースコードを確認してみたのですが、 <?php echo nl2br($message); ?> ちゃんと変換するよう記述されているようです。 原因 不具合の原因を調査して気づいたのですが、要するに下記のようなこ

    【PHP】nl2br()が動かなくて地味にハマった事について | バシャログ。
    orenonihongogayabai
    orenonihongogayabai 2016/04/26
    マジで!?/微妙に勘違い。「/n」を改行文字として記述するか、只の文字列として記述するかの違いが原因か。なるほど。
  • 【CakePHP3】CounterCacheを使ってhasManyで紐づくレコードの件数をキャッシュする | バシャログ。

    満員電車の中でダウンジャケットを着ている人と密着すると、布団を思い出して反射的に眠くなるfukasawaです。こんにちは。 着ている人は眠くならないのでしょうか。強靭な精神力で耐えているのでしょうか。不思議です。 さて、今回はCakePHP3のCounterCacheについてです。CounterCacheはCakePHP2にも存在する機能で、hasManyで紐づくレコードの件数を自動的にDBに保存してくれる機能です。CakePHP3ではCakePHP2と使い方が異なるようなのでCakePHP3での使い方を見てみたいと思います。 CounterCache - CakePHP Cookbook 3.x documentation ※CakePHP3.2.5で検証しています。 CounterCacheキャッシュとは まず最初にCounterCacheの動きについてザックリと見てみます。公式ペー

    【CakePHP3】CounterCacheを使ってhasManyで紐づくレコードの件数をキャッシュする | バシャログ。
  • Facebook のソーシャルプラグインを導入しよう その2 | バシャログ。

    最近朝が寒すぎて、毎朝「死んだらどうしてくれんだ」とかブツブツいいながら歩いてる kimoto です。 え!?明日雪降るの!? さて、以前書いた「Facebook のソーシャルプラグインを導入しよう」という記事が好評をいただいてます。 ということで、今回はその時紹介しなかったプラグインを紹介していこうと思います。 Facebook のソーシャルプラグインのページはこちら。 それではどうぞ。 Subscribe Button まずは、前回の記事の時にはまだ無かったプラグイン、「購読ボタン」です。 友達になりたいわけじゃないけど発言は常にフォローしたい。そんな時に「購読」という行動を取れるようになりましたが、それをワンクリックで行うことのできるボタンを外部サイトに置けるプラグインです。 このページに行くと、以下のような入力フォームが現れます。 「Profile URL」に、誰のフィードなのか、

    Facebook のソーシャルプラグインを導入しよう その2 | バシャログ。
  • Jenkins で CakePHP 1.3の自動テストを行う | バシャログ。

    仕事でCakePHP 1.3のユニットテストを書きました。 Jenkinsで自動実行させるのが、前にやったときより簡単にできたので 手順をご紹介します。 (職場はLinuxで、紹介するのはMac OS Xでの手順なのでいくつか違う点がありますが) 環境 今回は次の環境に自動テスト環境を作ってみました。 Mac OS Xにインストールしてみましたが、Cent OSにインストールしたときでも、Jenkinsのインストールとテスト実行コマンド以外はほとんど設定方法にかわりはありません。 なお、CakePHPの環境はすでに構築済みでSubversionでバージョン管理していることとします。 Mac OS X 10.7(Lion) PHP や ApacheはHomebrewで用意しました(PHP は5.3.10がインストールされています) CakePHP 1.x系のテスト結果をJenkinsに取り込

    Jenkins で CakePHP 1.3の自動テストを行う | バシャログ。
  • [CakePHP] Setクラスを使ってコード量を減らす | バシャログ。

    iPhoneを買って良かったことの半分はGoogle Mapsが歩くときのナビになることです。tanakaです。今回は、CakePHPを使うときにSetクラスを使ってコード量を減らすサンプルを紹介します。Setクラスは、配列を多用するCakeだからこそ「使える」ライブラリといえます。 配列の深い場所から値をとりだして連結する Set::extract() 例えば、ブログアプリを作っているとします。ブログの記事にはタグを付けることができて、タグのデータは次のようにDBから取り出したとしましょう。 Array ( [0] => Array ( [Tag] => Array ( [id] => 1 [name] => PHP [created] => 2009-09-15 21:41:22 ) ) [1] => Array ( [Tag] => Array ( [id] => 2 [name]

    [CakePHP] Setクラスを使ってコード量を減らす | バシャログ。
  • 最近 PHP のセットアップ時にいつもやってる設定 | バシャログ。

    レーザー治療までしたのにくしゃみ出まくってるんですけど、いったい何なんですか。どうもこんにちは nakamura です。 PHP-5.3.x 系もだいぶ浸透してきた今日この頃ですが、今日はここ最近新規にウェブサーバを立てる際にいつもデフォルトでやっている PHP 周りの設定をまとめてみました(よくよく考えたら PHP-5.3.x 系とかあんまり関係ないけど)。環境は CentOS 5 or 6 の PHP-5.3.x です。remi リポジトリを使って最新版の PHP を入れてます。 /etc/php/php.ini 毎回さわっているのは大体この辺ですね。他はサイトの仕様にあわせて適宜。 [PHP] expose_php = Off [Date] date.timezone = Asia/Tokyo セッションの保存先を memcached に セッションの保存先はデフォルトで memca

    最近 PHP のセットアップ時にいつもやってる設定 | バシャログ。
  • Fireworks のリソースを公開している海外のサイトをピックアップ | バシャログ。

    キノコのガチャポン、数回ガチャったけど、ベニテングダケとサンコタケしか出ない… シイタケが欲しいのに! 今回は、前回に続き、Fireworks のリソースを公開している海外のサイトをピックアップしてご紹介します。 Fireworks Zone Fireworks のことならここだけ見ておけばオッケー、というほど Fireworks の情報が大量に集約されたサイトです。 チュートリアルもあるし、拡張機能もスタイルもライブラリもダウンロードできます。 Webdesign tuts+ Web デザイン系の話題を幅広く取り上げているサイトです。Fireworks の動画チュートリアルがあります。 Fireworks Lab Fireworks で制作されたデザインパーツが公開されています。ちょっと数は少なめかも。 ソースファイルをダウンロードすることができるので、勉強になります。 webporti

    Fireworks のリソースを公開している海外のサイトをピックアップ | バシャログ。
  • 【CSS】覚えておいて損はない CSS の定番テクニック BEST 5 | バシャログ。

    ネットで検索をすると CSS のテクニックが山ほど公開されていますが、実際に商用サイトの制作をしていて個人的に利用する頻度が高いテクニックの BEST 5 をご紹介します。 ちょっと凝ったデザインのサイトをコーディングする時に、これらのテクニックに助けられることが多いです。どれも覚えておいて損はないものばかりです! IE6 でも min-height を使う 例えば、異なる高さのブロックを float しつつ底辺のラインを揃えたい時などに、「IE6 が min-height に対応していたら楽なのに!」と思うことがありますが、以下のテクニックを使えば IE6 でも min-height(相当)の適用が可能になります。 [CREAMU]CSSでmin-heightをクロスブラウザにする最も簡単な方法『Easiest cross-browser CSS min-height』 IE6 に mi

    【CSS】覚えておいて損はない CSS の定番テクニック BEST 5 | バシャログ。
  • 1