タグ

phpに関するyuhei_kagayaのブックマーク (273)

  • テストを書くモチベーションを上げるための、カバレッジレポート活用方法 - BASE開発チームブログ

    BASE Advent Calendar 2018 (13日目) この記事は、「BASE Advent Calendar 2018」の13日目の記事です。 devblog.thebase.in Backend Engineerの沖中 (@okinaka) です。 読者のみなさんはテストを書いてますか?テストが面倒くさいとか思ってませんか?(私はたまにあります) そんな時、モチベーションをあげるには、どのような工夫をしていますか? 私の場合、カバレッジ計測の結果のレポートがとても役に立っています。 レポートを眺めると、視覚的に 「どの行が実行された」とか 「カバレッジ率が◯%」だとか 「ここ複雑だけどテストがないクラスがあるよ」など、 いろいろ気づきがあります。 「ここマズイな、テスト書いて確認しなくちゃ!」という気持ちになるのでとても重宝しています。 とてもいいツールだと思うのですが、残念

    テストを書くモチベーションを上げるための、カバレッジレポート活用方法 - BASE開発チームブログ
  • BASE で使っているPHPフレームワークにプルリクエストを送ろうとしたら、先を越された話 - BASEプロダクトチームブログ

    この記事は、「BASE Advent Calendar 2018」の5日目の記事です。 devblog.thebase.in Backend Engineer の田中(@tenkoma)です。 「BASE」の裏側で動いているアプリケーションはCakePHP 2を使っています。 そのCakePHP 2にPHP7.3対応のプルリクエストを送ろうとしたけど先を越されてしまった話をします。 CakePHPPHP7.3対応状況 PHPPHP7.0以降、大きな機能追加のあるバージョンが年1回リリース*1されるようになりました。 リリースサイクルは公開されており(PHP: todo:php73)、毎年9月中までにはRC版が公開されているようです。活発なPHP製OSSプロジェクトなら、ビルドスクリプトにPHPの新しいバージョンを追加して、互換性が確認できているか確かめられるようになっているかもしれませ

    BASE で使っているPHPフレームワークにプルリクエストを送ろうとしたら、先を越された話 - BASEプロダクトチームブログ
  • PHPカンファレンス関西2018・非公式前夜祭 にシルバースポンサーとして参加 & 2夜連続LTしてきました - BASEプロダクトチームブログ

    こんにちは!BASE Product Division サーバーサイドエンジニアの東口(@Khigashiguchi)です。主にEコマースプラットフォーム「BASE」の決済領域の開発をしています。 さて、この度、BASE株式会社は7月14日(土)に開催された「PHPカンファレンス関西2018」にシルバースポンサーとして協賛いたしました。 私は当日スポンサー担当として参加し、前日に開催された「PHPカンファレンス関西2018非公式前夜祭」と合わせて2夜連続でLT発表してきました。 また、同じくBASE Product Divisionの田中(@tenkoma)も編の懇親会にてLT発表いたしました。 PHPカンファレンス関西2018 2018.kphpug.jp PHPカンファレンス関西は、大阪・梅田のグランフロント大阪で開催され、全国のPHPerが集結したイベントになりました。 メイン会場

    PHPカンファレンス関西2018・非公式前夜祭 にシルバースポンサーとして参加 & 2夜連続LTしてきました - BASEプロダクトチームブログ
  • CakePHPの過去、現在、そして未来 - Qiita

    これは CakePHP Advent Calendar 2017 の第1日目の記事です。 CakePHP に関する Advent Calendar の初日ということで、CakePHP の過去・現在・未来というのを書いてみたいと思います。 日ではPHPでフレームワークを使うということがまだ一般的でなかった2005年から CakePHP はじわじわとユーザを増やし始め、強力なコミュニティーと大量の書籍が出たことにより、日PHPプログラマーの間では Symfony とともにデファクトスタンダードになりました。 Symfony が世界的に流行したことに比べ、CakePHP は日で爆発的に流行し、活発にイベントが行われ、マニュアルの翻訳も精力的に行われ、加速度的に流行していきました。 特に CakePHP1 系は PHP4/PHP5 の両方で使えたので、PHP5への移行が遅れていた日の事情

    CakePHPの過去、現在、そして未来 - Qiita
  • PHPコードをコマンドで自動整形! Condig Standards Fixer と PHP_CodeSniffer - Qiita

    % phpcs /Users/beginner/spaghetti/code/ --standard=PSR2 FILE: /Users/beginer/spaghetti/code/index.php -------------------------------------------------------------------------------- FOUND 4 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S) -------------------------------------------------------------------------------- 1 | WARNING | A file should declare new symbols (classes, functions, | | constants

    PHPコードをコマンドで自動整形! Condig Standards Fixer と PHP_CodeSniffer - Qiita
  • 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の日記
  • PHP: filter_var - Manual

    パラメータ value フィルタリングする値。値をフィルタリングする前に、 内部的に 文字列への変換 が行われることに注意しましょう。 filter 適用するフィルタの ID。フィルタの型 に、利用できるフィルタの一覧があります。 省略した場合は FILTER_DEFAULT を使います。これは FILTER_UNSAFE_RAW と同等です。 結果的に、デフォルトでは何もフィルタリングをしません。 options オプションあるいはフラグの論理和の連想配列。 オプションを指定可能なフィルタの場合、この配列の "flags" フィールドにフラグを指定します。 "callback" フィルタの場合は、callable 型を渡さなければなりません。 コールバックは、フィルタリングする値を引数として受け取り、 処理後の値を返すようにしなければなりません。 <?php // オプションを許可するフ

  • PHPを「シェル化」する [psy/psysh] - 超PHPerになろう

    PHPのコードを書いて動かして試行錯誤… するのに、わざわざエディタでコードを書き、保存してphpコマンドを起動する… のは非効率です。そんなときはPsySHを使ってみませう。 PsySHはインタラクティブシェルと呼ばれるジャンルのアプリケーションです。対話環境またはREPL(レプル)とも呼ばれます。RubyにおけるIRBやPry、PythonにおけるpythonコマンドやIPythonと同種のツールです。 公式サイト PsySH 概要 An interactive shell for modern PHP. パッケージ名 Packagist: psy/psysh 作者 bobthecow (Justin Hileman) ライセンス MIT License バージョン v0.6.0 (2015-11-08) インストールする Composerを利用します。 composer.phar g

    PHPを「シェル化」する [psy/psysh] - 超PHPerになろう
  • Interactive PHP Debugging with PsySH — SitePoint

    It’s 1:00 a.m., the deadline for your web application’s delivery is in 8 hours… and it’s not working. As you try to figure out what’s going on, you fill your code with var_dump() and die() everywhere to see where the bug is… You are annoyed. Every time you want to try out a return value or variable assignment, you have to change your source code, execute your application, and see the results… In t

    Interactive PHP Debugging with PsySH — SitePoint
  • composer dump-autoloadが面倒くさい Laravel - Qiita

    composer dump-autoloadが面倒だ! Laravel以外のものでも使ってるものによっては、 実際に思う方も少なくないのでは?と思いますが、 ちょっとしたことで毎回ではなく必要最低限数実行すれば済むようになります。 Laravel4-Generators使ってない方向けです! それはとても簡単なことでして、 psr-0 というオートローディング規約を思い出してみましょう。 Laravelはディレクトリ等自由にユーザーが変更することができます。 作者自身が述べているように、 モデルという名前で"データベースのための処理だ!"と 思い込んでいる方もいると思いますが、 そんな概念に捕われず真っ先に削除してしまいましょう。 (モデルという名前が好きであればそのままでもかまいませんよ!) モデルやコントローラーを既存のままで使用したい場合は、 以下の説明のAcmeを、Models,

    composer dump-autoloadが面倒くさい Laravel - Qiita
  • PHP5.5で強化されたcURL拡張でHTTP Pipeliningを試す

    先日、PHP5.5.0がリリースされましたね。さっそくビルドしてニヨニヨしているところです。 5.5の新機能と言えばGeneratorやfinallyなどですが、個人的に注目しているのがcURLの機能強化です。詳しい内容がまだ公式ドキュメントに書かれていないのですが、結構おもしろいので紹介してみます。 cURLとは何か かーると発音する人が多いようです。C言語で書かれたHTTPのclientライブラリであり、WebAPIスクレイピング、クローラなどを扱うときに非常に便利です。PHP版のバインディングは標準でPHP体にバンドルされているため、大抵のレンタルサーバーでも使えるようになっています。 ただ、オリジナルのlibcurlそのままの関数風インターフェースを踏襲しており、オブジェクト指向型のラッパーなどは用意されていないため、あまり使いやすくはありません。が、並列リクエストが可能であっ

    PHP5.5で強化されたcURL拡張でHTTP Pipeliningを試す
  • How To Upgrade to PHP 7 on Ubuntu 14.04 | DigitalOcean

    Introduction PHP 7, which was released on December 3, 2015, promises substantial speed improvements over previous versions of the language, along with new features like scalar type hinting. This guide explains how to quickly upgrade an Apache or Nginx web server running PHP 5.x (any release) to PHP 7. Warning: As with most major-version language releases, it’s best to wait a little while before sw

    How To Upgrade to PHP 7 on Ubuntu 14.04 | DigitalOcean
  • PHP7で変わること - hnwの日記

    次の土曜日5/30のPHPカンファレンス関西2015で基調講演(10:30-11:15)をさせて頂くことになりました。タイトルは「PHP7で変わること——言語仕様とエンジンの改善ポイント」です。チケットは既に売り切れているそうですが、参加者の方は早起きして来て頂けると幸いです。 このところQiitaに「PHP7調査」というシリーズを連投していたのも発表を意識してのことです。PHP7の新機能を一つずつ実際に試してみて、その結果を簡単にまとめていました。 今回は発表前の区切りとして、私の書いたPHP7関連の記事・プレゼン資料を一覧形式でまとめなおしてみます。PHPカンファレンス関西2015ではこれらの内容を踏まえつつ、気になる点を重点的にお伝えしたいと考えています。 内部実装のリファクタリング PHP7の目玉と言える、速度改善に関わる内容がほとんどです。 PHP7はなぜ速いのか - Slide

    PHP7で変わること - hnwの日記
  • クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング

    Terui MasashiCloud Architect / Developer at Serverworks Co., Ltd. / Freelance

    クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
  • WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc

    [追記1] 最後で説明しているproxy cacheの設定を修正しました。 [追記2] nginx proxy cacheでキャッシュしない場合の処理を変更しました。 [追記3] スマートフォンや携帯で閲覧した時にキャッシュしない設定を追加しました。 はじめに 大げさな題名ですが、今回はWordPress単体を速くするのではなく、データベースやWebサーバなどの調整、またnginxのproxy cache機能を使って速くする話になります。 サイトの構成によっては、proxy cacheは使えないかもしれませんが、使わなくても5倍程度速くすることはできましたので、参考にしていただければと思います。 今回行うチューニング一覧 DBを最適化するプラグインを導入する APCを導入してPHPを速くする MySQLを速くする 重いWordPressプラグインを外す nginx+FastCGIにする W

    WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc
  • 高機能REPL psysh - Qiita

    と指定することで自分のプロジェクトのオートロード設定も読み込める 後は普通のREPLとしても使えるし、 lsでメソッド一覧を見たり、 showでコードを読んだり、 docでドキュメントを読んだり出来る ここからマニュアルをダウンロードして~/.psysh/に置けばビルトイン関数のドキュメントも読める phpでこういうの欲しかったので今まで損してた気分 arrayの表示とかはborisの方が見やすいけど、便利なので移行する価値はありそう Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do w

    高機能REPL psysh - Qiita
  • ytake.blog | PHP製デプロイタスクランナー Envoy(Laravelファミリー)

    PHP製デプロイタスクランナー Envoy(Laravelファミリー) Posted: 2015-05-11 00:12 | PHP全般 デプロイツール、最近は便利なものがたくさんありますね! 自分はいつもCapistrano3なんですが、最近Rocketeerを触ってみたりしてPHP製のデプロイツールもいいものが揃ってきました。 そんな中、日国内ではほとんどエントリを見かけないのに実は結構使いやすいものを紹介しましょう。 その名もEnvoy トランスフォーマーのコンボイと似てます。(これが言いたかっただけです) EnvoyLaravel作者のTaylor Otwell氏作のリモートサーバに接続してデプロイしたりするタスクランナーツールで、 Laravel Envoyとして紹介されていますが、実際のところ Laravelとの親和性は皆無なので、なんでも使えます。 RocketterもC

  • PsySH

    Stop die()ing all the time PsySH can be used as an interactive debugger, much like JavaScript's debugger statement, saving you from endless var_dump() and die() iterations. Just drop this line in where you'd like to have a breakpoint: eval(\Psy\sh()); Auto[tab][tab]Complete PsySH has tab completion for variable names, functions, classes, methods, properties, and even files! Just start typing, then

  • PHP の file_get_contents でステータスコードを取得する

    PHP の file_get_contents は外部リソースを手軽に扱えるので、Web サービスの API を使うときに便利です。 手軽に使える反面、例外処理をちゃんと考えておかないと 4xx や 5xx のステータスコードが返ってきたときに Warnning エラーが発生します。 file_get_contents でステータスコードを取得するにはひと手間かける必要があります。 $context = stream_context_create(array( 'http' => array('ignore_errors' => true) )); $response = file_get_contents('http://example.com/', false, $context); $pos = strpos($http_response_header[0], '200'); if

    PHP の file_get_contents でステータスコードを取得する
  • PHPUnit 並列実行に挑戦中 - jwata blog

    仕事PHPUnitを使うようになって1年くらいが経ち、チーム内にテスト書く文化が定着してきました。 テストの質と量が向上して、有効性も高まってきていい感じだなーと思う反面 「時間かかり過ぎ 」 という、面倒くさい問題が浮上してきました><。 現状のテスト実行ログ % ./vendor/bin/phpunit PHPUnit 3.7.28 by Sebastian Bergmann. ............................................................... 63 / 612 ( 10%) ............................................................... 126 / 612 ( 20%) .............................................

    PHPUnit 並列実行に挑戦中 - jwata blog