タグ

PHPに関するJ138のブックマーク (352)

  • phpMyAdmin New Install Error: Cannot Load mysql extension. Please check your PHP Configuration

    J138
    J138 2011/10/04
  • PHPで配列の空白要素を一括除去したい | Suinasia

    明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase

    J138
    J138 2011/08/18
  • 5分でわかる最近のPHP - 2011夏

    ここ最近のPHP界隈では、興味深いニュースが続いています。最近PHPを追っかけていない人へ少しづつご紹介。 近頃、PHP界隈でホットなニュースを5つ、つまみぐいして見てみましょう。 1. PHP5.4.0-alphaリリース! PHPの次期バージョン、5.4.0-alphaがリリースされました。 まだ alpha1 ですが、すでに Traits や Array dereferencing support など様々な機能追加が行われています。 特に Traits は面白い機能で、いずれはこれを利用したフレームワークの登場が考えられます。ぜひ使ってみたい機能ですね。 今後、正式リリースに向けてさらなる新機能が追加されていくようなので、目が離せません。 PHP 5.4 alpha1 released 現状のPHP環境はそのままで、PHP 5.4 を試す PHP5.4 alpha1リリース! PH

    J138
    J138 2011/08/07
  • 試しておきたい、PHPで動作するオープンソースなオススメCMS 5選。 » とりあえず9JP

    この記事ではオープンソースなオススメCMSを5個紹介します。 ※ブクマコメントやツイートでいくつか他CMSの名前が挙がっていたり、リプライ等頂いたので、下部にて別枠で紹介させて頂きます。 コーポレートサイトの制作に特化したCMS。 いわゆる、中小企業の自社紹介サイト系を作成する場合に、十分な機能が組み込まれている。 ・ユーザ管理 ・ページ管理 ・簡易ブログ(ニュースリリースなど複数設置可能) ・メールフォーム(複数設置可能) ・フィードリーダー ・携帯サイト ・Twitter連携機能 など。 また、対応しているDBが、SQLiteMySQL、PostgreSQLと幅広く、更にはCSVでの利用も可能な変り種。 殆どのレンタルサーバ上で動作すると思うので、導入の敷居は非常に低い。 ライセンスはGPLと商用ライセンスの2種類。 株式会社日情報化農業研究所が提供している国産のCMS。 主に一般

    J138
    J138 2011/07/18
  • 大規模 Web サービスでログインを長期間保持するには SESSION は使わず Cookie とデータベースだけで実装する | ウェブル

    先日ペコリンという Web サービスを公開したのですが、これが初めての WordPress との複合会員向けサービスだったためか、ログインが途中で切れたり、記事投稿時のリダイレクトがかかるタイミングなどで SESSION が切れてしまうことがありました。 しかし Twit Delay では長期的にログインが保持されていたり、mixi とかではログイン時間を指定できたりするので、なんとかできるものだろうと考えていたら Twitter で教えてもらいましたのでまとめておきます。 SESSION だけを使ったログインの保持では長期ログインは不可 私は今までログインの保持は以下のようにしていました。 1 2 3 4 5 <?php ini_set('session.gc_maxlifetime', 60*60*24); ini_set('session.gc_divisor', 10000); s

  • PHPのvar_exportとserializeを比較してみた

    お久しぶりです。だいぶ更新間隔が空いてしまいました。 PHPのプログラム上のデータをディスクへ保存するときに便利なのがvar_export()とserialize()ですが、パフォーマンスについてちょっと調べてみたので、メモです。 純粋に関数の処理性能で言うとserializeの圧勝なのは有名な話のようです。 #ser.php $arr = range(0,10); for ($i=0; $i<100000; $i++) { unserialize(serialize($arr)); } -------------------------------- $ time php ser.php real 0m0.314s user 0m0.303s sys 0m0.007s -------------------------------- #var.php $arr = range(0,10)

    PHPのvar_exportとserializeを比較してみた
    J138
    J138 2011/03/31
  • PhpUnit - 最強のユニットテスト自動化ツール - Do You PHP?

    zip形式 tgz形式 gihyo.jpにPHPUnit3で始めるユニットテストというタイトルで記事を書きました。PHP5をお使いの方は、そちらを参照してください。 ここにある情報はかなり古くなっており、正しくなくなっている可能性があります。掲載しているサンプルコードiなどは、最新のPHPでは動作しない、もしくは、別途設定・調整が必要になるかも知れません。情報を鵜呑みにせず、あなたの手を動かして、あなたの目で確認してください。 PhpUnitは一時期PEARに登録されていましたが、現在は別プロジェクトとして活動しています。新しいURLはhttp://phpunit.de/です。 テスト。。。ああ、なんてイヤな響きでしょう。。。(^-^; 「テストすること」はプログラムの品質を保証するということで非常に重要な作業だ、ということは百も承知と思いますが、コーディングと比べてやはり「イヤ」なもの

  • 頻出順で学ぶPHPの関数リスト:phpspot開発日誌

    List of Most Commonly Used PHP Functions :: search[code] 頻出順で学ぶPHPの関数リスト。 有名な、Wordpress, Mambo, Sphider, Smarty, Drupal, CodeIgniter 等のオープンソースを正規表現にかけて頻出関数について調査したそうです。 Tokenizer を使っていないので関数ではないものも混じっていたりしますが、関数だけを抽出し、マニュアルにリンクしてみました。 PHPをこれから学ぼうという方は参考にさせてもらいましょう。 isset - 変数がセットされていること、そして NULL でないことを検査する define - 名前を指定して定数を定義する empty - 変数が空であるかどうかを検査する assert - assertion が FALSE であるかどうかを調べる file

    J138
    J138 2011/03/24
  • CakePHP開発者が知るべき10のこと

    先日、こんな記事が上がっていました。 Android開発者が知るべき10のこと この記事でまとまっているのは、Android開発において必要な10の項目です。 インターフェースの設計から、データの取り扱いまで。 AndroidはモバイルデバイスのOSで、CakePHPは単なるWebフレームワーク。 しかし、予め用意されたルールやAPIを活用する点は同じです。 つまり、フレームワーク全般において、開発者が知るべきことをまとめることが出来るはずです。 ここでは、私が良く利用するCakePHPフレームワークについて、開発者が知るべき10のことをまとめます。 1. CakePHPで良いのか CakePHPを使う際に、知るべきことその1。 それは、あなたは当にCakePHPを使うべきなのかということです。 現在、あらゆるフレームワークが溢れ返っています。 Ruby Ruby On Rail

  • より良いPHPerになるための20Tips

    去年の話ですが、海外でこんな記事が上がっていました。 20 Tips you need to learn to become a better PHP Programmer 記事の内容は、かなりレベルが低いです。 しかし、初心者のうちに知っておけば、より早く成長出来るでしょう。 初心者PHPerのために、この記事の翻訳を載せます。 20 Tips you need to learn to become a better PHP Programmer PHPは、同じオブジェクトの扱い方でも複数の書き方を持っている、とても気まぐれなプログラミング言語だ。 詳しくは、私の書いた”The Art of Programming“を読むと良い。 これから書くTipsは、過去のプロジェクトから私が学んだコードの可読性、メンテナンス性を上げ、あなたを素晴らしい、より進んだPHPプログラマーにするもの

    J138
    J138 2011/03/22
  • PHP5 配列をメソッドチェインで再帰処理するクラス : エクスギア Blog

    CakePHPを使っていると、データ構造が多階層の配列で管理されていることが多く、一括で処理をしたい場合などに度々再帰処理を実装することがあります。 通常であれば、array_map系の関数を使って再帰的に処理を記述することになりますが、 毎回array_mapを使うのは面倒だし、もっと簡潔に記述したい 個別のグローバル関数・各メソッドを連続して簡単に利用したい という理由で、以下のように記述できるクラスを作成しました。 (クラスのソースコードは最後に記述しています) PLAIN TEXT PHP: // $arrの全ての要素にtrimと半角カナ変換を実施 ArrayMap::create($arr)->trim()->mb_convert_kana('KV'); // $arrの全ての要素に「先頭:」という文字を追加 ArrayMap::create($arr)->sprintf('先頭

    J138
    J138 2011/03/22
  • PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET

    【2019年08月15日】 PHP5では、通称メソッドチェーンと呼ばれる仕組みが利用できる。 メソッドチェーンとは、メソッドをアロー演算子で複数つなぎ、複数のメソッドを一度に行うこと。 通常はメソッドの戻り値を一旦変数に格納し、その変数からまた次のメソッドを実行する。 理屈的には、メソッドの戻り値がなんらかのクラスインスタンスなら、そのインスタンスの持つメソッドを一旦変数に入れるのではなく、そのまま後ろに続けて記述することで実行が可能ということ。 「メソッドチェーン」というと何か特別な事のように聞こえるが、普通のオブジェクト指向言語なら当たり前の仕組みである。しかしPHP4まではなぜかこれが出来なかった。 なのでPHP5でこれが可能になり、やっと来のオブジェクト指向に近づいたというところである。 ということでまずは例を見てみよう。 <?php // 商品クラス class Product

    J138
    J138 2011/03/22
  • 複数ファイルのアップロード - PHP日本語マニュアル全文検索

    J138
    J138 2011/03/04
  • PHPで大きな配列などを扱うときはforeachでなくlistとeachを使うとメモリを節約できる

    PHPで大きな配列などを扱うときはforeachでなくlistとeachを使うとメモリを節約できます。 $ary = array('foo'=>'FOO','bar'=>'BAR', 'baz'=>'BAZ'); reset($ary); while (list($key, $value) = each($ary)) { echo "{$key} => {$value}<br>\n"; } 『プログラミングPHP 第2版』には次のような説明があります。 この方法は、foreachのように配列のコピーを作成しません。これは、大きな配列などでメモリを節約したい場合に便利です。 『プログラミングPHP 第2版』より RadPHP XEのRPCLのソースコードを読んでいると、forやforeachでなくeachを使っているので不思議に思っていました。 こういう理由があったのかもしれません。 eac

    PHPで大きな配列などを扱うときはforeachでなくlistとeachを使うとメモリを節約できる
    J138
    J138 2011/02/09
    foreachとeach
  • 第2回 文字列置換関数の比較とgdbの使い方 | gihyo.jp

    はじめに 前回に引き続き、PHP最適化Tipsについて検証していきます。 今回は文字列置換関数の比較です。またgdbを用いたPHPコードの読み方についても紹介します。 strtr > str_replace > preg_replace の順に速い この3つの関数は細かな動きに違いはあるものの、文字列を置き換える関数です。このように同じ動きをする関数が多く存在するのは良くも悪くもPHPの特徴であるといえます。 下記のベンチマーク用のコードを用意して、計測を行います。 benchmark_strtr.php <?php $t = microtime(true); $i = 0; while($i < 1000) { $a = strtr('abcdefghijklmn', 'abc', 'ABC'); ++$i; } $tmp = microtime(true) - $t; var_dump

    第2回 文字列置換関数の比較とgdbの使い方 | gihyo.jp
    J138
    J138 2011/02/08
  • SplFixedArrayはPHP標準の配列よりメモリを消費しない - hnwの日記

    PHP5.3.0から実装されたSplFixedArrayというSPLクラスがあります。これはマニュアルによれば下記のようなクラスです。 SplFixedArray クラスは配列の主要な機能を提供します。 SplFixedArray と通常の PHPの配列との主な違いは、 SplFixedArray は固定長であって、整数値で指定した範囲内の添字しか使用できないところです。これにより、より高速な配列の実装が可能となりました。 http://docs.php.net/manual/ja/class.splfixedarray.php 制限はあるけれども高速な配列もどきのクラスだと紹介してありますね。このクラスについて少し調べてみました。 SplFixedArrayの速度 まずはSplFixedArrayが当に速いのかどうか、下記のようなプログラムで実験してみました。実験はPHP5.3.0で行

    SplFixedArrayはPHP標準の配列よりメモリを消費しない - hnwの日記
  • 「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ : 404 Blog Not Found

    2009年03月19日18:00 カテゴリLightweight Languages 「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ ああ、まただよ... かなり使えるPHPの正規表現まとめ - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜 正規表現って、プログラミング言語間の差が少ないサブ言語なのに、なぜ「PHP」がつくとダメ正規表現ばかり登場するのか。うんざりだ。 かなり使えるPHPの正規表現まとめ - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜メールアドレスは厳密にチェックしようとするとなかなか難しいのですが、簡単なチェックだったらこれでOKぽいですね。 /^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$

    「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ : 404 Blog Not Found
  • http://www.cpa-lab.com/tech/097

    J138
    J138 2011/01/21
  • PHP/「ページの有効期限切れ」対策 - Glamenv-Septzen.net

    id: 29 所有者: msakamoto-sf 作成日: 2005-07-10 23:28:13 カテゴリ: PHP Web [ Prev ] [ Next ] [ PHP ] 特にIE系でよく見られる「ページの期限切れ」画面。これを発生させないためにはどうすればよいのか、現在は少しGoogleで検索するだけで実に様々な対策方法が蓄積されている。だが、そもそも「ページの期限切れ」とはいったい何を示しているのか?いったいこの画面はユーザーに何を訴えているのだろうか? 今回はPHP言語に限定して、この現象を可能な範囲その原因を追及し、抜的対策と巷間にあふれる対策方法の是非を検討する。最終的に必要となった知識はHTTPのRFC2616のキャッシュ機能およびPHPのext/session/session.cのソースコードとなった。 「ページの有効期限切れ」が発生するスクリプト・発生しないスクリ

    J138
    J138 2011/01/20
  • 「ページの有効期限切れ」をsession_cache_limiter()で解決 - shinyanakaoのよすがブログ

    今日、学んだことの自分用メモです。 主に下記のリンク先を参照してまとめたものです。 http://www.glamenv-septzen.net/pukiwiki/index.php?PHP%2F%A1%D6%A5%DA%A1%BC%A5%B8%A4%CE%CD%AD%B8%FA%B4%FC%B8%C2%C0%DA%A4%EC%A1%D7%C2%D0%BA%F6 文章がカブってたりしますが、その辺はお許し下さい。・△・ 概要 「ページの有効期限切れ」という画面を表示しないようにする。 解決策としてsession_cache_limiter()関数を利用してページがキャッシュされるように設定する。 session_cache_limiter()はカレント(現在表示しているWebページ)のクライアントに送信されるキャッシュ制御用HTTPヘッダの設定が行える。 キャッシュ制御ヘッダについて キャ

    「ページの有効期限切れ」をsession_cache_limiter()で解決 - shinyanakaoのよすがブログ
    J138
    J138 2011/01/20