タグ

*PHPに関するAkinekoのブックマーク (415)

  • 忙しい人のための「初めてのPHP」

    この記事は7年以上前の記事です。情報が古い場合がありますのでお気を付け下さい。説明は適度に、駆け足でお届けします。 言っておきますが、これを覚えたからと言って「PHP出来ます!(キリッ」とか言ったら鼻で笑われるレベルだということは認識しておいてくださいね。 <追記あり:2012/02/16> 大前提 HTML/CSSの基的なところはわかってるものとします。FTPでアップロードするって意味さえわからない人はこのへんで勉強してください。つまり、出直してください。 あと、もっとちゃんと勉強したい人はこんな駄文を読まないほうがいいです。アシアルさんのコンテンツを読んでください。この文章の100倍素晴らしいコンテンツが満載です。 エディタ Windowsユーザなら、標準で付いてるメモ帳を使うのはやめましょう。 PHPに限らず、プログラムを触るなら、あんなもん使わないでください。文字コードも変更でき

    忙しい人のための「初めてのPHP」
    Akineko
    Akineko 2011/03/30
  • 頻出順で学ぶ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

    Akineko
    Akineko 2011/03/23
  • より良いPHPerにならないための20Tips

    http://1-byte.jp/2011/03/20/20_tips_you_need_to_learn_to_become_a_better_php_programmer/ 良いPHPerだって?そんなものは丸めてゴミ箱にでも捨ててしまった方が資源の再利用になる分いくらかマシだ。 つまり俺たちがしなくちゃならないことは「より良いPHPerにならないため」に何ができるかってことなのさ。 それじゃ、始めよう。 1. ?>を使うな?>なんて使っちゃいけない。そう俺たちはBAD PHPer。 無駄なホワイトスペースの出力に悩まされるくらいなら対称性なんて丸めてゴミ箱にでも捨てた方がまだマシだ。非対称性こそが賛美。 2. 設定ファイルをPHPで書くなrequire_once("config.php"); 未だにこんなことやってるやつがいるのかいベイベー。絶対にダメだ。この一行を見たら俺は悶絶する

    より良いPHPerにならないための20Tips
    Akineko
    Akineko 2011/03/22
  • はてなブログ | 無料ブログを作成しよう

    ビールとポップコーンと映画 ラストマイルを見た。良い映画だった。 映画館でべそべそ泣いて、鼻を啜りながら車で帰った。感想はこのブログでは書かない。みんな映画館に行って感じてみてほしい。 帰ってからツイッターで感想を漁り、うんうん、わかるわかる、そうだよね、とまた映画を思い出して…

    はてなブログ | 無料ブログを作成しよう
    Akineko
    Akineko 2011/03/22
  • より良い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プログラマーにするもの

    Akineko
    Akineko 2011/03/22
  • 過負荷に耐えるWEBサービス作成のための使えるPHPキャッシュテクニックまとめ:phpspot開発日誌

    過負荷に耐えるWEBサービス作成のための使えるPHPキャッシュテクニックまとめ。 サービス展開というとOSのチューニングや各種インフラソフトウェアのチューニング、更にはWEBアプリプログラム自体の効率化と、幅広い知識が必要になってきますが、PHPでWEBアプリを作る際によく効くキャッシュテクニックを用途・使いどころ別に説明します。 キャッシュをうまく効かせることで大幅に計算量を減らしてより多くのリクエストを少ないマシンで捌くことが出来、コストを下げたり、過負荷の悩みを減らせます。 個人レベルでのWEBサービス開発の場合、サーバ代がお財布を大きく圧迫しますが、最低のコストでサービスを賄うことに繋げられます、ということでPHPでサービス作ってやろうと思っている人は参考にしてみて下さい。 static変数でキャッシュ 特に何も入れなくてもそのまま使えるstatic変数。例えば、関数等で一定の計算

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

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

  • PHP で凄く簡単に GET/POST 送信ができる関数を作りました | ウェブル

    以前こちらの URL で GET/POST を簡単にできるコードを書きましたが、問題があるとのことで多くの指摘を頂きました。zaru さんに正しいコードを書いて頂きましたので下記の記事をご覧ください。 PHP で凄く簡単に GET/POST 送信ができる関数を勝手に改良した | zaru blog 下記にコードを引用させて頂きます。いくらか稼働させた所 curl の方が安定していることが分かりましたので、こちらを引用させて頂きます。curl がインストールできない環境等では zaru さんの記事の別のコードを使用してください。 function wbsRequest2($method, $url, $params = array()) { $data = http_build_query($params); if($method == 'GET') { $url = ($data != '

    Akineko
    Akineko 2011/03/08
  • 知っとくと便利なPHPのテクニック9つ:phpspot開発日誌

    9 Useful PHP Functions and Features You Need to Know | Nettuts 知っとくと便利なPHPのテクニック9つが掲載されていました。 初心者の方は勿論、PHPを長年使ってる人にも使えるテクニックが載っていましたので勉強がてらにメモ。 func_get_args() 関数で可変引数 を受け取る 通常、関数といえば、次のように引数と共に定義します。 function hoge($arg1, $arg2) { } のように定義して引数を受け取りますが、好きな個数で引数を受け取りたい場合は、次のようにfunc_get_argsで受け取れます。 function hoge() { $args = func_get_args(); foreach ($args as $key=>$value) { echo "arg{$key} is $value

    Akineko
    Akineko 2011/03/04
  • WEBサービス作るなら忘れてはいけないもう一つのPEAR「Openpear」の便利モジュール集:phpspot開発日誌

    Openpear :: Open PEAR Repository Channel WEBサービス作るなら忘れてはいけないもう一つのPEAR「Openpear」の便利モジュール集。 家のPEARよりいいんじゃないか?というぐらい便利なライブラリが揃っているOpenpearからよく使いそうな物をまとめてみました。 2011年2月現時点で186もの便利モジュールが登録されています。 ちょっと古いものも含まれており、動かないものもあるかもしれませんが便利そうなものをとりあえず羅列してみます。 Services_ShortURL_Googl goo.glにURL短縮するライブラリ。PEAR::Services_ShortURLのサブパッケージだそうです。 Services_Foursquare FoursquareのAPIを叩くライブラリ Services_SBM_Info はてブ数やTwitte

    Akineko
    Akineko 2011/03/01
  • jQueryモバイル用のコードをPHPで簡単ジェネレートできる「jqmPhp」:phpspot開発日誌

    jqmPhp | HTML Code Generator for jQuery Mobile Framework | jqmPhp jQueryモバイル用のコードをPHPで簡単ジェネレートできる「jqmPhp」。 次のようなコードにより、簡単にjQueryモバイルのページを作れます。 <?php include 'lib/jqmPhp.php'; $j = new jqmPhp(); $j->addBasicPage('', 'Hello World', 'It's works!'); echo $j; ?> addBasicPageメソッドによって、jQueryモバイルでのページを簡単作成可能。 単にページの追加だけではなく、ボタンを追加したり、各種コントロールの追加がPHPで出来るところが特徴です。 以下、jqmPhpで作ったページデモ。実際に動作するデモページはこちら このスマートフ

  • WEBサービスで使えるPEAR以外で有名なPHPモジュール総まとめ:phpspot開発日誌

    WEBサービスで使えるPEAR以外で有名なPHPモジュール総まとめ 「WEBサービスを作るなら最低限覚えておきたいPHPのPEARモジュールまとめ」というエントリで先日PEARの便利ライブラリについてまとめたのですが、今回はPEAR以外でも有名なライブラリをご紹介。 PEAR以外で挙げていくときりがありませんが、とりあえず有名どころや、私の知っている物、過去に当ブログで紹介したものをまとめてみます。 他にも便利な物や定番の物がありましたら、@phpspot_kj までTwitterなんかで教えてください。 グラフ描画 JpGraph ありとあらゆるグラフを描画してくれる有名なグラフライブラリ。 pChart グラフにデザイン性を求める場合に使えるクールなグラフ描画ライブラリ PHP/SWF Charts PHPでグラフをFlashで描画出来るライブラリ。グラフに動きを出してインタラクティブ

  • WEBサービスを作るなら最低限覚えておきたいPHPのPEARモジュールまとめ:phpspot開発日誌

    (追記) 2/16 23時 いくつかのライブラリを追記しました。 WEBサービスを作るなら最低限覚えておきたいPHPのPEARモジュールまとめ。 家pearには560程のモジュールがあります(2011/2月現在)が、WEBサービスを作る上でよく使う物をまとめてみました。 これからPHPを使ってサービスを作ろうと思っている方は代替を使うことになると思うので参考にしてみて下さい。 php はインストール時点で既に多くの機能が備わっており、大体のことができてしまいますが、PEARを使うことで面倒なことがより簡単にできるようになります。 PEAR以外にも便利なライブラリはあるのですが、今回はあえて殆どをPEARサイトで公開されている物に絞ってご紹介します。 基的なパッケージ まず、汎用に使える便利なパッケージのご紹介です。 HTTP_Request2 url を渡してリモートのテキストを取って

    Akineko
    Akineko 2011/02/16
  • Hello, World! するだけの PHP Extension を作る | Born Too Late

    来月開催される ZendEngine勉強会@東京に向けて, 少しでも予習しておこうと思い, 以下のページを参考にやってみました. PHP Extension を作ろう第1回 - まずは Hello World DSAS開発者の部屋 しかし, この記事そのままのやり方では上手くいきませんでした. 書かれたのが 2006 年ということもあり, 一部情報が古くなっている部分があるようです. そこで, 上記の記事を参考にしつつ, 調べてまとめてみました. 0. 前提とする環境 私は以下の環境で検証を行いました. LAMP 環境は tasksel コマンドで構築したものです. $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.10 DISTRIB_CODENAME=maverick DISTRIB_DESCRIPTION="Ubu

    Hello, World! するだけの PHP Extension を作る | Born Too Late
    Akineko
    Akineko 2011/01/31
  • CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2011年1月27日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 橋口誠さんから今話題の書籍パーフェクトPHP (PERFECT SERIES 3)を献いただきました。ありがとうございます。このエントリでは同書のCSRF対策の問題点について報告したいと思います*1。 書では、CSRFの対策について以下のように説明されています(同書P338)。 CSRFへの対応方法は、「ワンタイムトークンによるチェックを用いる」「投稿・編集・削除などの操作の際にはパスワード認証をさせる」などがあります。一番確実な方法は両者を併用することですが、ユーザ利便性などの理由から簡略化する場合で

    Akineko
    Akineko 2011/01/28
  • ブルースクリーンオブデスで世界的な障害を引き起こしたCrowdStrikeが根本原因分析を発表 - GIGAZINE

    時間の2024年7月19日に発生したCrowdStrikeの大規模障害では、850万台のWindows端末が影響を受けて、航空業界や病院、政府機関など膨大な量のシステムが動作不能に陥るなどの甚大な被害が生じました。今回の大規模障害について、CrowdStrikeが根原因分析のレポートを発表しました。 Falcon Content Update Remediation and Guidance Hub | CrowdStrike https://www.crowdstrike.com/falcon-content-update-remediation-and-guidance-hub/ External Technical Root Cause Analysis — Channel File 291 (PDFファイル)https://www.crowdstrike.com/wp-con

    ブルースクリーンオブデスで世界的な障害を引き起こしたCrowdStrikeが根本原因分析を発表 - GIGAZINE
    Akineko
    Akineko 2011/01/27
  • PHPでリッチなショッピングサイトを構築できる「Avactis」:phpspot開発日誌

    Ecommerce Solutions | Avactis: Ecommerce PHP Shopping Cart Software PHPでリッチなショッピングサイトを構築できる「Avactis」。 スキンに対応していて見栄えを変えられる他、CSSによるテンプレートデザインが可能。 ショッピングカートや、PayPal等による決済機能、商品管理や注文統計が見れるリッチな管理画面、検索機能などショッピングカート構築に必要な機能は殆どそろっています。 ショッピングサイト画面。UIもamazon風ですっきり見やすい。 スキン切り替えでデザイン変更が容易にできます。 管理画面がとっても多機能です。 今後の発展にも期待したいですね。 関連エントリ PHPで書かれた次世代のショッピングカートシステム「TomatoCart」 フリーで使えるPHPMySQLで構築されたショッピングカートシステム「Ze

    Akineko
    Akineko 2011/01/13
  • 利用者のブラウザ・OS・バージョンを取得できるクラスライブラリ「Browser.php」:phpspot開発日誌

    Browser.php ? Detecting a user’s browser from PHP | Chris Schuld's Blog 利用者のブラウザ・OS・バージョンを取得できるクラスライブラリ「Browser.php」。 $obj = new Browser(); のようにして、$obj->getBrowser() メソッドでブラウザが取得できてしまう便利ライブラリのご紹介です。 検索ボットやAndroidiPhoneなんかにも対応しているようです。 その他、OSの判別なんかも細かくやってくれるみたいなので便利そう。 関連エントリ PHPで使えるブラウザ等プラットフォーム検出用クラス

    Akineko
    Akineko 2011/01/12
  • CakePHPのSecurityComponentの脆弱性で任意のPHPコードが実行できる仕組み - disり用。

    もはや懐かしい感じのあるCakePHPセキュリティトークンから任意のPHPを実行できる脆弱性ですが、なぜこれで任意のPHPコードが実行可能になってしまうのか心配で夜も眠れない方の為に、実行される仕組みを解説してみようと思います。詳細とアドバイザリ、PoCは以下のものを参照しています。 http://co3k.org/diary/12 http://malloc.im/CakePHP-unserialize.txt http://malloc.im/burnedcake.py CakePHPSecurityComponentが提供するCSRF対策のトークンは単一の識別子ではなく、':' でトークンと$lockedという謎の値が繋がれたものになっています。$lockedには配列をシリアライズしたものをROT13で変換したものが入っています。この$lockedに任意の値を入れることで任意のP

    CakePHPのSecurityComponentの脆弱性で任意のPHPコードが実行できる仕組み - disり用。
  • phpの変数展開まとめ - milieuの日記

    backtickさんのコードをみて初めて知ったけど、PHPの変数展開(ダブルクォテーション中の波括弧、文字列中の置換とかなんとか)は意外と複雑。 $hoge = 'fuga'; echo "$hoge" ; #fuga が出力される echo "${hoge}"; #fuga が出力される echo "${'hoge'}"; #fuga が出力される・・・ echo "${"hoge"}"; #fuga が出力される(parse errorじゃないのか!) ついでに関数も展開できるらしい $f = 'str_repeat'; echo "{$f('abc ',3)}"; #abc abc abc が出力される echo "{$f('abc ', 1 + strlen("aa"))}"; #abc abc abc が出力される どうやら関数の引数はワンライナー書き放題っぽい。しかし、単にダブ

    Akineko
    Akineko 2011/01/05