サポーターズ CoLab 勉強会の資料です。 2018/01/25 https://supporterzcolab.com/event/259/ ※タイトルを「【PHP7 実践編】事例で学ぶ CakePHP と Laravel の徹底比較」と改めています。 2017/09/13 https://supporterzcolab.com/event/137/ Read less
ことの始まり PHP の srand 関数について調べていて、ひょんな拍子にsrandのseedに文字列(numericである必要はあるけど)を渡せることを知った。 では、ここに long を超えるものを放り込むとどうなるのか。 では結果をごらんください。 「!?!?」 なぜこうなるのか 秘密は PHP 処理系の zend_parse_arg_impl 関数にあります。 zend_parse_arg_impl はphpの関数に渡された引数をパースする部分で、longを要求する関数にstringな値が渡された時の処理はこの部分ですね。 https://github.com/php/php-src/blob/master/Zend/zend_API.c#L335 さて、読み進めていくと「ん!?!?」ってなる行があるはずです。 この行ですね https://github.com/php/php-
2010年を振り返る意味で、自分がCakePHPで開発する際に良く使うプラグインをまとめてみました。 誰かのお役に立てれば幸いです。 1.cakeplus ■ よく使うバリデーションをまとめたBehaviorであるadd_validation_rule モデルでバリデーションする際に本当に使います。 var $validate = array( 'hoge' => array( "rule1" => array('rule' => array('katakana_only'), 'message' => 'hogeにカタカナ以外が含まれています' ), ), ); ■ 自動でhiddenタグを生成するヘルパーformhidden 確認画面を挟む際にhiddenに入力情報をまとめて出力してくれます。 echo $formhidden->hiddenVars(); このプラグインを知ってから、
http://co3k.org/diary/12 このへんみておもったこと。 unserialize() 関数はオブジェクトの unserialize もできるのだが、5 以後では __destruct() が導入されているので、その unserialize したオブジェクトの __destruct() がよばれてしまう。この際に、たとえば cache の処理などで __destruct() でファイルにデータをかきこむ、などの処理をしていると、そのファイルが汚染されてしまったりするということがおきうる。 で、実際に cakephp ではそういう状況になって、任意のコードが実行可能になった、と。 まとめると 5 以後では unserialize() をユーザーからの入力にたいしてはかならず検証してからおこなうようにするべき。 っていうか、ユーザーの入力にたいしては unserialize(
cakePHPで良い感じのTwitterコンポーネントが見つからなかったので自分で作ってみました。 TwitterApiComponent OAuthに対応しており、かつTwitterに気軽にツイートとかできてしまいます。 ということで使い方を説明しておきます。 まず、今回必要なものは以下の通りです。 consumerKeyとconsumerSecret OAuth consumer component 1.アプリ登録して、OAuth consumer componentを入手する consumerKeyとconsumerSecretはTwitterからアプリケーションを登録する際に入手できます。 OAuth consumer componentは下記のURLから取得してください。 http://code.42dh.com/oauth/ ※OAuth consumer classのダウンロ
この記事はCakePHP1.2系またら1.3系を対象としており、CakePHP2.0系では別のアプローチになります。 不思議なことにCakePHPアプリの開発でHudson使って継続的インテグレーションしている事例をほとんど見たことがないんだけど、個人的にはPHPアプリだって全部HudsonでCIすべきと思っているのでやってみた。 (ちなみに最近までphpUnderControlでCIしていた) 概略 CakePHPアプリでCIやろうとして問題になるのは、 CakePHPでのテストライブラリがSimpleTestでありJUnit互換のテスト結果を出力できないこと さらにSimpleTestでは一応XMLでの結果出力ができるのに、CakePHPのreporterにcake_xml_reporterとかが無くて、html出力かテキスト出力しかできない という2点にあるので、この2点をクリアする
btoさんが作られたSymfony用のプラグインsfMobileIPPluginをCakePHPに移植しました。 IPアドレスから携帯のキャリアを高速に判定するsymfonyプラグインを作った [blog.bz2.jp] sfMobileIPPlugin [openpear.org] 以前から移植したものを利用していたのですが、今開発中の案件でPluginとして抜き出しやすいように書き直したので公開します。 http://github.com/kaz29/mobileip 使い方 <?php class HogeController extends AppController { var $components = array('mobileip.MobileIp') ; function index() { pr($this->MobileIp->carrier()) ; } } REA
携帯サイトを構築する場合の、各キャリア対応をサポートするライブラリと、それをCakePHPで利用するためのヘルパー・コンポーネントを公開いたします。ライブラリ本体はCakePHPだけでなく他の環境でも使用することが出来ます。 【お知らせ】 ktailibrary.orgは諸事情ありまして閉鎖しました。 はじめに 携帯サイトを作成する場合、一般的には各キャリア向けにHTMLを作成し、それを振り分けして表示する仕組みを採用していたと思いますが、最近の携帯では、いくつかの仕様を除いてほぼ同じHTMLを閲覧することが可能になってきています。そこで、その「いくつかの仕様」についてを解決できるような仕組みができないものか…という経緯から、本ライブラリが生まれました。 また、本ライブラリは個人的に作成していたPHPライブラリがベースになっているのですが、CakePHPで使えるようにすることで「携帯サイト
スパイスラボ神部です。 CakePHP 1.2 でモバイルサイトを構築するための資料を改めて集めてみます。フェイス女学園ではオレオレ仕様でやってたのですが、今回はちゃんと Cake のお作法に則ったものを実装してみようと思います。 [cakePHP1.2]モバイルサイトとPCの切り分け その1: PHPを使ったWebサイト構築 備忘録 cake1.1系ではwebserviceが使えたが、1.2系では使えなくなっているので、prefixを使用する。 [cakePHP1.2]モバイルサイトとPCの切り分け その2: PHPを使ったWebサイト構築 備忘録 CakePHP 携帯専用サイトを作成する | Sun Limited Mt. ke-tai.org > Blog Archive > CakePHPで3キャリア対応の絵文字を表示するためのコンポーネント とりあえずこんなところでしょうか。 今
CakePHPとは CakePHPはオープンソースで開発されたPHP用のフレームワークです。Ruby on Railsの影響を強く受けており、Webアプリケーションを高速に開発するための仕掛けが随所に盛り込まれています。 PHP開発者の方で、Railsで開発してみたいけどRubyの経験がないのでなかなか行動に移せない方などはとくにCakePHPを試してみてほしいと思います。Railsの考え方を肌で理解しつつ、PHPでWebアプリケーションを高速開発するための選択肢を手に入れることになるでしょう。 CakePHP 本家サイト(英語)(左図)。 フォーラム - CakePHP Users in Japan(右図) そのほか、CakePHP プログラマーズ リファレンスガイドも参考になる CakePHPを使いたくなる5つの特徴 まずは皆さんにCakePHPに興味を持っていただくため、フレーム
はじめに PHPの世界ではフレームワークがさかんに発表され、次から次へと新興勢力が現れてきます。そんな中で大きなコミュニティに発展しているのがCakePHPフレームワークです。一部では、開発環境をいったんCakePHPからRuby on Railsに移行したものの、再びCakePHPに戻ってくるという「CakePHP回帰現象」も起こり始めています。CakePHPは、手軽に利用できるPHP言語にぴったりの「手軽に利用できるフレームワーク」です。フレームワークとは、先人の知恵をまとめ上げたものと言うことができます。その中にはどんなノウハウが蓄積されているでしょうか。PHP4/PHP5で使用できるRails風フレームワークCakePHPを使って、フレームワークの処理の流れを調べてみましょう。対象読者 この記事は、CakePHPでの開発を始めた方が対象です。CakePHPに関する基本的な知識に関し
はじめに PHPは、データベース(以下、DB)と連携する高機能なWebアプリケーションを容易に作成できるスクリプト言語です。現在、さらに短期間で効率的な開発を実現するために、さまざまなPHPフレームワークが公開され、開発環境が整いつつあります。今回は特に、Ruby On Railsに触発されて開発が始まり、なおかつ独自の発展を遂げているCakePHP(ケイク・ピー・エイチ・ピー)フレームワークを紹介します。PHPという言語の面白さや、フレームワークによる開発に興味を持っていただければと思います。対象読者 PHPの基礎知識を持ち、フレームワークを利用した効率的なWeb開発に関心のある方。必要な環境 CakePHPを利用するために必要な環境は次のとおりです。Linux、Windows、Macなどの各種OS環境Apache、LighttdなどのWebサーバーMySQLなどのDB(MySQL推奨)
目次 はじめに CakePHPとは インストール mod_rewriteが使える場合 mod_rewriteが使えない場合 動作確認 DB接続 MVCのサワリを理解する 便利な使い方 scaffold bake created / midified 色々な場面に対応する 確認画面を挟む セッションを使う 画像をアップロード ページングする DATETIME型の表示形式をカスタマイズ Modelを活用する hasMany belongsTo HABTM Helperを活用する Html Pagination Error Cakeの拡張 DBと連動したVaridation 所からでも使える関数 ラジオボタンのNULLチェック
New CakePHP 5.0 Chiffon. Faster. Simple. Delicious. What's new in version The migration guide has a complete list of what's new in. We recommend you give that page a read when upgrading. A few highlights from 5.0 are: PHP 8.1 required. Improved typehints across the framework. CakePHP now leverages union types to formalize the types of many parameters across the framework. Upgraded to PHPUnit 10.x
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く