WordPressのテーマやプラグイン作成において、よく利用する関数やグローバル変数などを個人的に整理したコンテンツです。 各関数やグローバル変数は、情報別(データの種類)と目的別(機能の種類)に分類しています。 なお、ほとんどの情報はソースコードを見ながら書き留めた内容であり、確認不足による誤りや更新の遅れによる不正確な内容を含んでいる可能性があります。あらかじめご了承ください。
WordPressのテーマやプラグイン作成において、よく利用する関数やグローバル変数などを個人的に整理したコンテンツです。 各関数やグローバル変数は、情報別(データの種類)と目的別(機能の種類)に分類しています。 なお、ほとんどの情報はソースコードを見ながら書き留めた内容であり、確認不足による誤りや更新の遅れによる不正確な内容を含んでいる可能性があります。あらかじめご了承ください。
標準のソート関数は不安定ソートPHP のソート関数は、同じ順序になる要素(例えば同じ数字)を並び替えたときに、元々の順序が変わる可能性があります(不安定なソート)。不安定なソートだと、五十音順など意味のあるキーで並んでいる配列を並べ替えるときに都合があまりよくありません。 // 元々の順序が変わってしまう例 function cmp_func($a, $b) { if ($a === $b) return 0; return $a $b ? -1 : 1; } $a = array( 'a' => 7, 'b' => 5, 'c' => 3, 'd' => 5, 'e' => 2, 'f' => 5, 'g' => 5, 'h' => 1, ); uasort($a, 'cmp_func'); print_r($a); uasort 関数の実行結果: Array ( [h] => 1 [e
CGI環境でPHPを動作させているサイトには、リモートからスクリプト実行を許してしまう脆弱性があります。php.netから提供されている修正リリース(PHP 5.3.12 / PHP 5.4.2)は不完全なため、該当するサイトは至急回避策を導入することを推奨します。 概要 CGIの仕様として、クエリ文字列に等号を含めない場合は、クエリ文字列がCGIスクリプトのコマンドライン引数として指定されます。 例えば、http://example.jp/test.cgi?foo+bar+bazという呼び出しに対しては、test.cgiは以下のコマンドラインで呼び出されます。 test.cgi foo bar baz この仕様を悪用して、CGI版のPHPにコマンドライン引数としてPHPのオプションを指定できます。例えば、http://example.jp/test.php?-s というリクエストは、-s
こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPはセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>
2012年01月15日18:30 カテゴリLightweight LanguagesTips tips - 動的配列と空要素と要素の列挙 動的配列は便利ですが、言語ごとの違いにはちょくちょく悩まされます。 JavaScript: The Definitive Guide (6th Ed.) David Flanagan 連想配列のlengthプロパティ - 馬鹿と天才は紙一重って使えないんですね。 var array = []; array["a"] = "string a"; array["b"] = "string b"; console.log(array.length); 見事に0が返ってきます。意味が分かりません。 perl5 最も直感的な実装。 要素数:最大の添字+1 列挙:要素が空でもなされる use 5.012; my @fizzbuzz; for my $i (1..30
少し前に、ペパボの JavaScript 厨なひとに、PHP 用の IDE「PhpStorm」を薦めてもらいました。有料のソフトなのですが 30日間は無料で使えるし、モノは試しだと思って使ってみたところ、大変良かったので紹介します。 **Emacs 厨だけど、PhpStorm だけはベツバラな理由 -Emacs 厨だけど、PhpStorm はベツバラな理由 -Aptana Studio との比較 -Emacs との比較、使い分け -その他 - 他の IDE との比較 --(1) Eclipse --(2) NetBeans --(3) Aptana Studio --(4) PhpStorm -おまけ << *Emacs 厨だけど、PhpStorm はベツバラな理由 言うまでもなく Emacs は素晴らしいですし、これからもお世話になると思いますが、いまは PhpStorm と併用して使っ
どーもどーも。最近めっきりネタストックの出来ていないマイペースたんです。 この記事は12/1~12/25の期間、毎日ブログ記事を数珠つなぎにしていく「WordPress Advent Calendar」の第19日目として書いております。 18日目の@kamiyamさんから引き継いでの記事でございます。 とはいえ、最近これはいいなぁと思ったネタはもうすでに先月書いてしまったし、V3.3はまだ全然触れてないし、最近理解を新たにしたループについての話はkzさんがさらっとスマートに書いてしまっていたりで、、、困った困った。でも考えました。 ここ最近、ありがたくも自サイトからWordPress関連のちょっとした作業依頼をいただく機会が増えました。 ご依頼内容としては、「デザインやプレーンなサイト構築についてはこなれているけれど、どうもWordPressに組み込んだ時に言うことを聞いてくれないからなん
多次元配列の中のキーでソート $lists = array( array( 'id' => 1, 'name' => 'a', ), array( 'id' => 2, 'name' => 'b', ), array( 'id' => 3, 'name' => 'c', ), array( 'id' => 4, 'name' => 'd', ), ); 多次元配列で、idをキーに降順でソート usort($lists, create_function('$a,$b','return($b[\'id\'] - $a[\'id\']);')); 多次元配列で、nameをキーに昇順でソート usort($lists, create_function('$a,$b','return($a[\'name\'] - $b[\'name\']);')); usort()を使えばユーザ定義比較関数を使うこ
KLab Advent Calendar 2011 「DSAS for Social を支える技術」の8日目です。 前回は php のプロセス数を絞ることのメリットを解説しました。 プロセス数を絞るには FPM を使うなどの方法もありますが、 DSAS for Social では php は Apache + mod_php を使っていて、 それにリバースプロキシを組み合わせて利用しています。 今日はこのリバースプロキシの役割を説明して行きます。 以降、リバースプロキシのことを単にプロキシと呼びます。 プロキシを使う理由 そもそも、なぜプロキシを使うのかを説明しておきます。 5秒ルール ケータイ向けのソーシャルアプリでは、ユーザーからのリクエストは 一旦プラットフォームのサーバーを経由して、アプリを提供している Webサーバーに到達します。 このとき、アプリ側のレスポンスがあまりに遅いとプ
PHPの実行環境をPaaS型クラウドとして提供している「PHP fog」はブログで、いままで6カ月だった無料サービスの利用期間を、永久に無料のままにすると発表しました。しかも3つのアプリケーションまで無料にするとのこと。 もちろん無料で使えるリソースの範囲はそれほど大きくありませんが、PHPアプリケーションを自由にデプロイできるため、例えばWordpressを入れて自由にブログを運営する、といったことができるはず。 実はPHP fogだけでなくPaaS型クラウドでは無料でずっと利用できるコースを設定しているサービスがいくつもあります。この機会にまとめてみました。 PHP fog まずはそのPHP fog。名前の通りPHPの実行環境をクラウド上で提供します。MySQLデータベースもあらかじめ用意されており、WordPress、Drupal、Sugar CRM、Joomlaといった有名どころの
(Last Updated On: 2018年8月13日)昨日は第一回の岡山PHP勉強会お疲れ様でした。参加枠を何度か拡大しても60名の満席でした。初回ということでプログラマ目線からのセキュリティ対策の基本を解説させていただきました。セキュリティってわかりづらい、何をすれば良いのかわからない、という声はよく耳にします。短い時間でしたが考え方の基本は概ね説明できたと思います。 重要なことは口頭で説明したので資料だけみてもよくわからないとは思いますが、勉強会の資料を公開します。なにかございましたらツイッターなどで問い合わせて下さい。ツイッターには岡山PHP勉強会のハッシュタグ (#okaphp) を付けると他の方にも分かりやすいと思います。 次回の岡山PHP勉強会は2月だそうです。 追記:Integrityの訳はネットを検索してきた訳語の「統合性」を使っていましたが、違和感があったので調べてみ
WordPressにちょっと機能を追加したい時に役立つスニペットをまとめたサイトを紹介します。 目的をもって探すだけでなく、こんなこともできるのかという発見もあるかもしれません。 WPSNIPP – 500+ WordPress code snippets for your blog [ad#ad-2] WPSNIPPでは現在、545個のWordPressの便利なスニペットが登録されています。 下記にほんのちょっとだけ、その便利なスニペットをピックアップしました。 よく使うショートコードをボタンから選択可能に 特定のページのみ特定のスタイルシートを適用 アーカイブウィジェットの表示期間を制限する Google+1ボタンを設置する プラグインを管理画面を使わずに停止する CSSファイルのキャッシュを防止する 大切な「wp-config.php」を守る よく使うショートコードをボタンから選択可
「どの言語を使うか」という問題は、実は当座の生産性の話だけではなく、会社のカルチャーやその後の採用に大きな影響を与えます。ですがーエンジニアが代表であってもーこの問題を意識している人は意外に少ない、というのが正直な印象です。今回は言語毎の特徴を踏まえつつ、どの言語を採択すべきかを考えたいと思います。※Web系に限定しています。 前置き (競合相手のうち)一番安全なのはOracleの経験者を募集しているところだ。 そういうところを警戒する必要は全く無い。また、JavaやC++プログラマを募集しているところも安全だ。もしPerlやPythonプログラマを 募集していたら、ちょっと気を付けたほうがいい。その企業の、少なくとも技術部門は本物のハッカーがやっている可能性が高いからだ。もし私がLispハッカーの募集広告を目にしていたら、きっとかなり心配していただろう。[1] YCのPaul Graha
PHP.rebootはJVM上で動作するPHPを再定義したプログラミング言語です。 PHPは恐らくWebサイトにおいて最も良く使われている言語でしょう。習得も容易で、手軽に色々なWebアプリケーションが作れる、そんな利便性の裏で言語仕様などについて毛嫌いされる声も聞かれます。そこで注目したいのがPHPを再定義するPHP.rebootです。 PHP.rebootの書き方です。< ?phpではなく、{}を使ってコードを埋め込みます。まさにテンプレート的です。ファイルの拡張子はphprになります。 実行結果はもちろん普通に表示されます。 サーバ、GET/POSTも使えます。面白いのは変数名に$をつけず、JavaScriptのように定義することでしょう。;も使いません。 実行結果はこのようになります。 基本的な文法はPHPと似ています。SQLとの親和性を高くしており、コードの中にSQLをそのまま埋
Cake Software Foundationは10月16日、オープンソースのWebアプリケーション開発フレームワーク「CakePHP 2.0」をリリースした。PHP 5.2以降に対応したほか、多くのコンポーネントがリファクタリングさており、より使いやすくなっているという。 CakePHPはPHPで書かれたWebアプリケーション開発フレームワーク。Ruby on Railsのコンセプトを取り入れたMVCアーキテクチャを持ち、高速なアプリケーション開発が可能という。MIT Licenseで公開されている。 CakePHP 2.0ではPHP 4サポートが廃止され、PHP 5.2以降をサポートするよう全コードがリファクタリングされた。これにより例外やPHP Data Objects(PDO)、Standard PHP Library(SOK)、json_encodeといったPHP 5のネイティ
10 Life-Saving PHP Snippets | Web Builder Zone 便利そうな10個のPHPコードスニペット。 種類はまとまりがありませんが、便利そうな10個のPHPコードスニペットがまとまっています。 ・文字列のハイライト ・FeedBurnerの購読者数 ・複数CSSファイルの圧縮出力 ・誕生日から年齢計算 そんなの自分でやる、って言う物も含まれていますが、学習用やちょっとした実装に覚えておいても便利かもしれません。 関連エントリ OAuth対応のPHPでTwitterに投稿するスニペット 使える21のPHPコードスニペット パスワード生成や年齢計算等、PHPの便利なスニペット集
昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ
TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 2011年08月22日- HybridAuth, Open Source Social-Signle-Sign-On Solution for authentication through Facebook, Twitter, Google, Yahoo, MySpace, LinkedIn, AOL, Vimeo, FourSquare, OpenID and other Identity providers TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 Facebook, Twitter, Google, Yahoo, Windows Live, MySpace, LinkedIn, FourSquare, O
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く