タグ

phpに関するryoma123のブックマーク (101)

  • PHP exec() vs system() vs passthru()

    What are the differences? Is there a specific situation or reason for each function? If yes, can you give some examples of those situations? PHP.net says that they are used to execute external programs. see reference From the examples I see, I don't see any obvious difference. If I were to simply run a script (bash or python), which function do you recommend me to use?

    PHP exec() vs system() vs passthru()
    ryoma123
    ryoma123 2016/08/04
  • PHPはコマンド実行関数多すぎだろ - ぱせらんメモ

    backtick演算子(バッククォートで実行するやつ) shell_exec() exec() passthru() system() pcntl_exec() popen() proc_open() このうちbacktick演算子とshell_exec()は等価らしい。 ……どれ使えばいいんだyp! といつも思うので、実際に試してみた。 shell_exec()およびbacktick演算子 string shell_exec ( string $cmd ) cmd 実行するコマンド 戻り値 実行したコマンドの標準出力 標準エラー出力はそのまま標準エラー出力に流れる。 なお、shell_exec()とbacktick演算子(バッククォート)は等価。 exec() string exec ( string $command, [, array &$output [, int &$return

    PHPはコマンド実行関数多すぎだろ - ぱせらんメモ
    ryoma123
    ryoma123 2016/08/04
  • php.iniの設定を.htaccessで変更する

    php.iniの設定を.htaccessで変更する方法。 設定可能な項目 「.htaccess」ファイルで設定出来る項目は、PHPマニュアル(php.ini ディレクティブ)において 「変更の可否」が「PHP_INI_PERDIR」または「PHP_INI_ALL」と指定されているものです。 .htaccessで変更できる項目を調べるスクリプト <?php print_r('.htaccessで変更できる項目は:<br>'); foreach (ini_get_all() as $name => $value) { if ($value['access'] & 2) { print_r($name . '<br>'); } } ?> 参考:ini_set()でどの設定を変えることが出来るか調べる 文法 .htaccessに記述する形式 php_value php_value 項目名 値 セッ

    php.iniの設定を.htaccessで変更する
    ryoma123
    ryoma123 2016/07/27
  • PHPでprivateなmethodをテストする - ゆるやかにくちてゆくこの世界で あがく僕の唯一のかつろ

    実行環境 OS: Ubuntu PHP: PHP 5.3.5-1ubuntu7.2 PHPUnit: PHPUnit 3.5.15 ReflectionMethod::setAccessibleを使う。 @ Foo.php <?php class Foo { private function privateMethod1() { return true; } } @FooTest.php <?php require 'Foo.php'; class FooTest extends PHPUnit_Framework_TestCase { public function testPrivateMethod1() { $_obj = new ReflectionMethod('Foo', 'privateMethod1'); $_obj->setAccessible(true); // pro

    ryoma123
    ryoma123 2016/06/27
  • 【PHP】特定の文字列を含むかのチェック - Qiita

    正規表現を使わない場合 strpos,strstr,preg_matchではstrposが最も早いのでstrposを使う。 PHPマニュアルにもそのように書いてある。 strstr もし特定の haystack に needle があるかどうかを調べるだけの場合、 より高速でメモリ消費も少ない strpos() を代わりに使用してください。 strposは、該当する文字列が見つからなかった場合は、falseを返す。 該当する文字列が見つかった位置を数値で返すので(※1)、型までチェックする必要がある。そのため、===falseもしくは!==falseを使うこと。 ※1例えば、strpos('abcd','ab')は0を返す。 if(strpos($subject,'bc') !== false){ //'abcd'のなかに'bc'が含まれている場合 } if(strpos($subject

    【PHP】特定の文字列を含むかのチェック - Qiita
    ryoma123
    ryoma123 2016/05/02
  • PHPで配列の空白要素を一括除去したい | Suinasia

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

    ryoma123
    ryoma123 2016/04/26
  • 【PHP入門講座】 ビット演算 - Qiita

    目次に戻る ビット演算は、PHPを扱う上に置いてはそれほど重要性は高くないのですが、次の「演算子」の説明で必要性が生じてくるので、ここであらかじめ触れておきます。 ビット演算の概要 導入 2進数演算を考えましょう。 【例】 $3 + 5 = 8$

    【PHP入門講座】 ビット演算 - Qiita
  • PHPのisset,empty,is_null - モトクロスとプログラムと粉砕骨折と

    絶対忘れるのでメモ。 値if($var)issetemptyis_null $var=1TRUETRUEFALSEFALSE $var="";FALSETRUETRUEFALSE $var="0";FALSETRUETRUEFALSE $var=0;FALSETRUETRUEFALSE $var=NULL;FALSEFALSETRUETRUE $varFALSEFALSETRUETRUE $var=array()FALSETRUETRUEFALSE $var=array(1)TRUETRUEFALSEFALSE

    ryoma123
    ryoma123 2016/03/30
  • https://www.multiburst.net/sometime-php/2010/05/change-phpini-file-for-debugging/

    ryoma123
    ryoma123 2016/03/11
  • PHP-FIG — PHP Framework Interop Group - PHP-FIG

    Moving PHP forward through collaboration and standards. Welcome to the PHP Framework Interop Group! We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together.

    PHP-FIG — PHP Framework Interop Group - PHP-FIG
  • array_mapでクラスメソッドを指定する方法 - Qiita

    array_map() [function.array-map]: The first argument, 'クラスメソッド', should be either NULL or a valid callback って言われてしまった どうやらPHPでクラスメソッドをコールバック関数に指定するときは、arrayを使ってどのクラスのメソッドなのかも明示する必要があるらしい

    array_mapでクラスメソッドを指定する方法 - Qiita
    ryoma123
    ryoma123 2016/03/08
  • PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記

    メルセンヌ・ツイスターと似て非なるアルゴリズムが実装されていたことが発覚して話題の PHP の mt_rand 関数の品質を統計的に検証しました.果たして,PHP の「壊れた」mt_rand は安心して使うことができるのでしょうか……? ちなみに,結論から言うと,PHP の壊れた mt_rand は,(少なくともこのテストの範囲では)家メルセンヌ・ツイスターと遜色ない品質を持っているようです.ただし,最後に PHP の乱数の別の懸念点についても紹介します. 壊れた mt_rand とは PHP の mt_rand は,ドキュメントによると,有名な乱数生成アルゴリズム「メルセンヌ・ツイスター」を利用して高品質の乱数を生成する関数です.ところが,どうやら一部では知られていたこととして,PHP の mt_rand の実装にはバグがあり,家メルセンヌ・ツイスターと挙動が一致していませんでした.

    PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記
    ryoma123
    ryoma123 2016/02/23
  • PSR-2: Coding Style Guide - PHP-FIG

    Coding Style Guide¶ Deprecated - As of 2019-08-10 PSR-2 has been marked as deprecated. PSR-12 is now recommended as an alternative. This guide extends and expands on PSR-1, the basic coding standard. The intent of this guide is to reduce cognitive friction when scanning code from different authors. It does so by enumerating a shared set of rules and expectations about how to format PHP code. The s

    PSR-2: Coding Style Guide - PHP-FIG
    ryoma123
    ryoma123 2016/02/23
  • register_globals = On の恐怖 - PHP Note

    PHP 4.2.0 (2003/05) から、register_globals の初期値が Off に変更されました。これによりこれまで稼動していたスクリプトや書籍に記載されているサンプルコードが動かないといった現象に戸惑った方もいらっしゃるかと思います。 セキュリティ上の理由で変更されたのですが、入門者や初心者にとっては PHP の都合に振り回されているように感じるばかりです。いくらかでもこの初期値の変更を理解していただきたいと思い、register_globals = On で何が危険なのか、どうすれば安全なコードを書くことが出来るか考えてみました。 上書きによる改ざん register_globals = On の場合、環境変数や GET、POST などの PHP の外部からくる値は全て $変数名 という書式で使用することが出来ます。 では、同じ変数名が存在した場合はどうなるのでしょ

    ryoma123
    ryoma123 2016/02/15
  • PHPを愛する試み 〜self:: parent:: static:: および遅延静的束縛〜 - maeharinの日記

    PHPを愛する試みというものを個人的にやっている PHPを愛する試み PHPを愛する試み 〜調教編〜 今回は、self:: parent:: static:: 遅延静的束縛について図で整理してみた。 スコープ定義演算子 (::) まず「::」について。これはスコープ定義演算子という。マニュアルには以下のようにある。 スコープ定義演算子 (::) スコープ定義演算子 (またの名を Paamayim Nekudotayim)、 平たく言うと「ダブルコロン」は、トークンのひとつです。 static, 定数 およびオーバーライドされたクラスのプロパティやメソッドにアクセスすることができます。これらの要素をクラス定義の外から参照する際には、 クラスの名前を使用してください。PHP 5.3.0 以降では、変数を用いてクラスを参照することも可能です。 変数の値に (self や parent、 stat

    PHPを愛する試み 〜self:: parent:: static:: および遅延静的束縛〜 - maeharinの日記
    ryoma123
    ryoma123 2016/02/10
  • PHPで「self::」と「$this」の違いを理解する。

    これを完全に理解しきるには一筋縄じゃいかない模様。 とりあえず自分用にザックリめも。 まず、標題の件に関して。 ■self:: 自クラスのプロパティ、及びメソッドへの静的アクセス。 ■$this 自分自身のオブジェクトを指す。 次に、そもそも論として。 ・クラスプロパティもしくはメソッドを static として宣言することで、 クラスのインスタンス化の必要なしにアクセスすることができます。 static なプロパティは、インスタンス化されたクラスオブジェクトから アクセスすることはできません (static なメソッドにはアクセスできます)。 ・static メソッドは、オブジェクトのインスタンスを生成せずに コールすることができます。疑似変数 $this は、 static として宣言されたメソッドの内部から利用することはできません。 ・static プロパティは、矢印演算子 -> によ

    PHPで「self::」と「$this」の違いを理解する。
    ryoma123
    ryoma123 2016/02/10
  • PHPのinterfaceとは何か

    久しぶりの更新です。最近、修行だと思って色々なを読み漁っているのですが、やっとこさPHPのinterfaceが分かるようになってきた感じがあるので、まとめてみます。 インターフェースは、クラスから"ユーザー定義型"の能力のみを分離した言語機構です。PHPのそれはJavaのinterfaceのパクリです。 "ユーザー定義型"という単語を使いました。動的型付き言語のことを「型のない言語」と言う人がたまにいるんですが、とんでもねー間違いです。PHPにだって型はあります。変数が型を持たず、値が型を持っているというだけの話です。 interfaceを宣言する文法はクラスとよく似ていますが、キーワードclassの代わりにキーワードinterfaceを使います。中身は定義のないメソッドの宣言を書きます。なお、定数も含めることが可能です。 <?php interface FooInterface { c

    PHPのinterfaceとは何か
  • $_GET, $_POSTなどを受け取る際の処理 - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 予備知識 PHPはフォームから送信された値などをコード実行開始に自動的に変数として使えるようにしてくれる非常に便利なプログラミング言語です.しかし,それをそのまま用いるとエラーが発生したり,脆弱性になってしまったりするケースがたくさんあります.使う前には適当なチェック処理が必要です. どういった変数が対象になるか 以下に挙げられた変数は,ユーザーが勝手に値や構造を書き換えたり,送信をそもそも行わずにアクセスしたりすることが可能な信用できない変数だと思ってください.例え,ラジオボタンで選択肢を限定していたり,隠し要素として埋め込んでいたりしたとしても,これに該当してしまいます.

    $_GET, $_POSTなどを受け取る際の処理 - Qiita
    ryoma123
    ryoma123 2016/01/18
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
  • インクルードパスの設定(include_path) - php.iniの設定 - PHPインストールと初期設定

    php.iniファイルをひな形から作成する php.ini ファイルは最初から作成する必要はありません。用意されている雛形をコピーして作成し、後から必要な個所を変更して利用します。雛形となるファイルは PHP をインストールしたディレクトリに含まれている次の2つのファイルです。 php.ini-production ファイルは実際の番環境で使用する場合に適した雛形で、 php.ini-production ファイルは開発環境で使用する場合に適した雛形となっています。 今回は php.ini-development ファイルの方を使ってみます。最初から作り直したい時のために php.ini-development ファイルはそのまま残しておき、コピーしたものを使用するようにして下さい。 php.ini-development ファイルをコピーし、ファイル名を php.ini に変更してくだ

    インクルードパスの設定(include_path) - php.iniの設定 - PHPインストールと初期設定
    ryoma123
    ryoma123 2015/12/11