タグ

tipsとphpに関するohsugaのブックマーク (21)

  • ついに見つけた!CakePHP の管理者画面作成ノウハウ ( ラボブログ )

    スパイスラボ神部です。 前々から、CakePHP に Web サイトの管理画面を作るモードに使っていそうな関数を見かけることが多かったので、どこかにそんな資料があるだろうな、とは思っていたのですが、遂につき当たりました! -CakePHP 管理画面を作成する方法 | Sun Limited Mt. 少しこれについて読み解いてみたいと思います。 あと、上記情報は少し古いので、こちらもあわせて。 -プリフィックスルーティング(Prefix Routing) :: Routesの設定 :: 環境設定 :: CakePHPによる開発 :: マニュアル :: 1.2 Collection :: The Cookbook -管理画面が好きだ! - Favorites! admin モードについて まず、キモはここですね。 define('CAKE_ADMIN', 'admin'); これで ht

  • CakePHP routes.phpの確認はユニットテストで

    routes.phpを仕様に合わせて設定しておきます。 <?php // Router::connect('/:user_id/edit', array('controller' => 'user', 'action' => 'edit')); Router::connect('/', array('controller' => 'top', 'action' => 'index')); Router::connect('/:user_id/*', array('controller' => 'user', 'action' => 'index')); // Nothing Router::connect('*', array('controller' => 'nothing')); ?> 最後はシステムが取るべきURL以外ならNot Foundを出すように設定しています。これにより想定外

  • date.timezoneを設定するとdate()が早くなる - Do You PHP はてブロ

    via. How much does a date() cost? – The Woodwork らしいです。 php.iniの設定項目の1つであるdate.timezoneは、 環境変数 TZ が設定されていない場合、 全ての日付/時刻関数で使用されるデフォルトのタイムゾーン というもので、PHP5.1.0から追加されてます。 設定しなくても動作するんですが、error_reportingにE_STRICTを追加すれば、タイムゾーンが設定されていない場合に次のようなStrictエラーが発生します。 Strict Standards: date(): It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variab

    date.timezoneを設定するとdate()が早くなる - Do You PHP はてブロ
  • CakePHP で他のモデルのデータを編集する ( ラボブログ )

    スパイスラボ神部です。 実験的にですが、CakePHP で formHelper を使いながら他のモデルのデータを編集する試みをしてみましたので、共有してみます。果たしてこの方法が正しいのか?というところもあわせてですので、ツッコミあれば宜しくお願いします。 -二人羽織が好きだ! - Favorites! コントローラとモデルの基原則に逆らわないこと さて、読み込みだけならご存じ var $uses に指定すればどんなモデルでも読み込めます。 そこから先、違うコントローラの中で、しかも formHelper による edit ライクな機能を実装していこうとすると問題が起こります。 1.別のユーザモデルをフォームのにセットすると、そのモデルの edit に飛んでしまう 2.User を User2 などにすると、ユーザモデルがないので formHelper による自動補完が利かない これは

  • PHPでのデバッグ方法

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog おひさしぶりです。オークション担当の山崎 賢です。 前回はPHP Serialize についてでしたが、 今回はPHPでのデバッグに関してお話します。 基PHPはインタプリタ(厳密にはPHPは内部で一度コンパイルしていますのでインタプリタとは言い切れませんが) のデバッグではログ埋め込みが手軽です。 しかし、まれにSIGSEGVやSIGBUSなどでPHPスクリプトが落ちることがあり、途方にくれます。 地道にログを埋め込んでいき、箇所を特定するのも手法の1つですが、今回はgdbを用いたデバッグ方法を記載したいと思います。 ■STEP1 まずは、プログラムが落ちることを目的として以下のようなPHP Moduleを作成します。 ・ ・

    PHPでのデバッグ方法
  • CakePHPでらくちんプルダウン(for 1.2) ( ラボブログ )

    スパイスラボ神部です。 CakePHP を使っていると、当にデータベースのやりとりが楽になるので、個人的には MySQL とお話するときのコンシェルジュ、もしくは同時通訳のように使っています。そうなると、もっとデータをデータベースを使って管理するようになりたくなります。たとえば、これテキストで管理していたデータをデータベースに入れて利用するなど。 Web のフォームでプルダウンを実施する際などは、それらのプルダウンを動的に管理したいときこれまで原始的に CVS を使ったりしていましたが、今では MySQL を積極的に使うようにしています。さらに CakePHP 側でも、それらをプルダウンの項目として利用するための簡易な方法が用意されているので、ここで紹介します。 -プルダウンメニューが好きだ! - Favorites! 役に立つリソースと解説 簡単に言えば、 1.プルダウンにしたいデータ

  • レガシーなPHPコードをモック関数でテストする - Sooey

    クラスをあまり使っておらず、関数を中心に構築されているレガシーなPHPコードをテストするにはどうするか。 テストしたい対象がユーザ定義関数であれば、実際の関数定義を含んだファイルとは別にテスト用の挙動をするモック関数の定義を含んだファイルを用意しておき、ユニットテスト時には後者をrequireするという手法があるが、例えばmysql_connect()のような組み込みの関数の場合はそうもいかない。 Test your Legacy PHP Application with Function Mocks!では、PECLのrunkitモジュールを使うことで実行時に関数を再定義してしまう方法が紹介されている。 テスト対象となるすべての関数をいちいち置き換えていくのは大変だし、組み込みの関数を書き換えてしまう場合の副作用も気になるので常に使えるというわけではないけれど、憶えておくと役に立つ時がある

  • PHPでメモリ上に一時ファイルを作る - hnwの日記

    blog.plastik.jp » PHP5 の fgetcsv() で読み込み内容が腐る現象」という記事を読みました。fgetcsv()だとSJISのCSVファイルがうまく読めないので、UTF-8に直してテンポラリファイルに保存してfgetcsvで読み込む、という筋書きのようです。 ちゃんとtmpfile()を使っていたりしてナイスなコードだと思います。でも、すぐ不要になるデータをディスクに書き込むのはイマイチじゃないでしょうか。ここはメモリに書いた方がカッコいいと思うんです。僕なら下記のようにします。 <?php $data = file_get_contents("example.csv"); $data = mb_convert_encoding($data, "UTF-8", "Shift_JIS"); $fp = fopen('php://memory', 'r+'); fw

    PHPでメモリ上に一時ファイルを作る - hnwの日記
    ohsuga
    ohsuga 2009/03/17
    入出力ストリームphp://temp。データが小さいうちはメモリが利用され、大きくなるとファイルに保存される。一時ファイルのパス、ファイルとメモリの閾値のサイズはfopen()の引数で変更可。ファイルの処理はPHPにおまかせ。
  • Text_Password

  • PHPでランダムなパスワードが簡単に生成出来るクラスを公開します

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

  • PHPからAmazonS3を利用するライブラリを3つ試してみた(うち一つは動作不可) : akiyan.com

    PHPからAmazon S3を利用するライブラリを3つ試してみた(うち一つは動作不可) 2009-01-07 Amazon Simple Storage Service(s3)がCDNに対応して日へも高速に配信できるようになったので、日国内でS3の注目が高まっているかと思います。 ヨセミテでもS3の利用を検討しようということで、まずはphpからライブラリ経由でS3を試してみました。 目次 使ってはいけない「s3.class.php」(2009-01-07時点) PHP を使ってマルチメディアのコンテンツと帯域幅を Amazon に任せる (IBM developerWorks) で配布されているs3.class.php(アーカイブ名はos-php-amzmm.s3class.zip)と、記事中のサンプルコード(のbuket名を変更したもの)を設置し、upload.phpからファイルをP

    PHPからAmazonS3を利用するライブラリを3つ試してみた(うち一つは動作不可) : akiyan.com
  • symfonyの外部でsymfony関連クラスをautoloadする - Do You PHP はてブロ

    先日の第2回設計勉強会でも出てきましたが、現在、LimeではなくPHPUnit3を使ってテストをしてます。フレームワーク非依存になるように作っているためです。 とはいえ、データベースアクセスはPropel/Creoleに依存せざる得ない状況(この辺は割り切りw)なので、テスト時にPropel/Creole関連のクラスは必要になります。しかし、symfonyはrequire_once/include_onceではなくautoloadするようになっているので、テスト時に「クラスがない」と怒られまくります。 そこで、次のようにしてautoload機能をでっち上げ、このファイルをそれぞれの*Test.phpでrequire_onceしてテストを実行してます。今のところ、うまく動いてくれてます。 <?php $files = array(); function getList($path) { $i

    symfonyの外部でsymfony関連クラスをautoloadする - Do You PHP はてブロ
    ohsuga
    ohsuga 2008/11/10
    symfonyでの開発でPHPUnit3でUTを組むtips
  • symfony.jp

    symfony.jp 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • PHPの日付操作はDateTimeが簡単

    ► 2018 (1) ► 1月 (1) ► 2017 (4) ► 6月 (3) ► 5月 (1) ► 2016 (15) ► 12月 (4) ► 11月 (1) ► 10月 (2) ► 7月 (3) ► 6月 (1) ► 5月 (3) ► 1月 (1) ► 2015 (13) ► 12月 (1) ► 10月 (1) ► 9月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (2) ► 2月 (3) ► 1月 (3) ► 2014 (11) ► 12月 (1) ► 9月 (2) ► 8月 (2) ► 6月 (1) ► 4月 (4) ► 2月 (1) ► 2013 (15) ► 12月 (3) ► 11月 (3) ► 8月 (2) ► 7月 (4) ► 5月 (1) ► 4月 (2) ► 2012 (7) ► 10月 (1) ► 7月 (1) ► 4月 (3) ► 1月 (2) ► 20

  • PDOでの PostgreSQLの booleanへの INSERT

    ► 2018 (1) ► 1月 (1) ► 2017 (4) ► 6月 (3) ► 5月 (1) ► 2016 (15) ► 12月 (4) ► 11月 (1) ► 10月 (2) ► 7月 (3) ► 6月 (1) ► 5月 (3) ► 1月 (1) ► 2015 (13) ► 12月 (1) ► 10月 (1) ► 9月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (2) ► 2月 (3) ► 1月 (3) ► 2014 (11) ► 12月 (1) ► 9月 (2) ► 8月 (2) ► 6月 (1) ► 4月 (4) ► 2月 (1) ► 2013 (15) ► 12月 (3) ► 11月 (3) ► 8月 (2) ► 7月 (4) ► 5月 (1) ► 4月 (2) ► 2012 (7) ► 10月 (1) ► 7月 (1) ► 4月 (3) ► 1月 (2) ► 20

  • PHPで 外部プログラム(CUI)と対話的に処理を進める方法

    ► 2018 (1) ► 1月 (1) ► 2017 (4) ► 6月 (3) ► 5月 (1) ► 2016 (15) ► 12月 (4) ► 11月 (1) ► 10月 (2) ► 7月 (3) ► 6月 (1) ► 5月 (3) ► 1月 (1) ► 2015 (13) ► 12月 (1) ► 10月 (1) ► 9月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (2) ► 2月 (3) ► 1月 (3) ► 2014 (11) ► 12月 (1) ► 9月 (2) ► 8月 (2) ► 6月 (1) ► 4月 (4) ► 2月 (1) ► 2013 (15) ► 12月 (3) ► 11月 (3) ► 8月 (2) ► 7月 (4) ► 5月 (1) ► 4月 (2) ► 2012 (7) ► 10月 (1) ► 7月 (1) ► 4月 (3) ► 1月 (2) ► 20

  • http://www.cpa-lab.com/tech/0153

  • http://www.cpa-lab.com/tech/0144

    ohsuga
    ohsuga 2008/05/17
    現状では strlen(bin2hex($data)) / 2 での取得するのが望ましい
  • http://www.cpa-lab.com/tech/0139

  • memcachedを使ったPHPのシングルトン実装 - 徒然なるままにBlog

    PHPのクラスに備わっているstaticはJava(Servlet)のそれとは違いHTTPのリクエストが完了すると破棄されてしまいます。 そのためstaticフィールドを使ったシングルトンの実装を行ったとしてもリクエストがある度にインスタンスが生成され独立したプロセスから同一のインスタンスにアクセスすることは不可能です。 そこで今回memcachedを利用しPHPの各プロセスから同一のインスタンスを参照できるようにしてみたいと思います。 といってもシリアライズさせているので厳密には別のインスタンスになりますが…。 ちなみにmemcachedとはオブジェクトをメモリにキャッシュさせるPHPとは独立したサーバプログラムです。 利用できる言語はPHPだけに限らずPerlRubyJavaPythonなどにも対応しています。 インストールは./configure && make &