タグ

ブックマーク / qiita.com/mpyw (5)

  • OFFSETを使わない高速ページネーションを任意のPHPフレームワークで超簡単に実現する - Qiita

    はじめに Qiita芸人とか巷で言われますが Qiita の Advent Calendar は初参加です。お手柔らかにお願いします。 Laravel Advent Calendar 2017 4日目の記事になります。 3日目の記事は, @namaozi さんの Laravel5.5でお手軽にフィルタ&検索付きメモアプリを作るチュートリアル でした。クエリスコープを使ってコントローラをシンプルに保てるのはLaravelのいいところですね!このチュートリアルには登場しませんでしたが,今回の私のエントリはページネーションのお話になります。パフォーマンスチューニングされた複雑なページネーションを書こうとするとコントローラが煩雑になりがちですが,この記事で紹介する手法を使えばとてもシンプルに記述することができます。 ページネーションといえば,Webアプリケーションに頻繁に実装が求められる機能ですね

    OFFSETを使わない高速ページネーションを任意のPHPフレームワークで超簡単に実現する - Qiita
  • PHPでcURLのクソ仕様 "@" を回避する - Qiita

    導入 PHPcURL関数群 はC言語で書かれた libcurl の極薄ラッパーとして実装されていますが、ポストフィールドのファイル取り扱いに関する実装が クソ仕様 としか思えないようになっています。 以下の2つのファイルを用意します。 <?php $params = /* something */ ; $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => 'http://localhost/respond.php', CURLOPT_POST => true, CURLOPT_POSTFIELDS => $params, )); curl_exec($ch);

    PHPでcURLのクソ仕様 "@" を回避する - Qiita
  • PHPでクロージャのuse地獄を回避する裏ワザ - Qiita

    (function () { $name = 'John'; (function () use ($name) { $greet = 'Hello'; (function () use ($name, $greet) { echo "{$greet}, {$name}\n"; })(); })(); })(); call_user_func(function () { $name = 'John'; call_user_func(function () use ($name) { $greet = 'Hello'; call_user_func(function () use ($name, $greet) { echo "{$greet}, {$name}\n"; }); }); }); After PHP7.0以降は new class{} で無名クラスが使えます.全てのクロージャを無

    PHPでクロージャのuse地獄を回避する裏ワザ - Qiita
  • [PHP, Ruby] ハッシュに対するいろいろなMap - Qiita

    実装 それぞれの言語で、以下の関数・メソッドを書いてみることにします。用語はRuby側に統一します。 ハッシュの各要素の 値 に対してブロックを適用し、それらの返り値を集めた新しいハッシュを返す ハッシュの各要素の キー に対してブロックを適用し、それらの返り値を集めた新しいハッシュを返す ハッシュの各要素の 値とキー に対してブロックを適用し、それらの返り値を集めた新しいハッシュを返す なお、Rubyは初心者です。 <?php function array_kmap(callable $func, array $arr) { return array_combine(array_map($func, array_keys($arr)), $arr); } function array_kvmap(callable $func, array $arr) { $new = array_map

    [PHP, Ruby] ハッシュに対するいろいろなMap - Qiita
  • ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 脆弱性について 参考リンク PHPにおけるファイルアップロードの脆弱性CVE-2011-2202 PHP 5.4.1リリースのポイント 上記に対する補足説明 PHP 5.4.1以降 PHP 5.3.11以降 どちらかを満たしているならば,脆弱性は(今のところ)無い.どちらも満たしていないと, $_FILES 変数の構造を崩す攻撃 ../ をファイル名に含めて送信する攻撃 (ディレクトリトラバーサル) の何れか,もしくは両方の脆弱性を所持していることになるので要注意. 脆弱性対策と注意事項 $_FILES Corruption 対策 改竄されたフォームからの複数ファイル配列送信対策 脆弱性が修正された環境でも 改竄フォーム対策 も兼ねて

    ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita
    shimooka
    shimooka 2013/05/31
  • 1