タグ

*PHPに関するyamadarのブックマーク (199)

  • 「NativePHP」、PHPでデスクトップアプリを開発できるフレームワークが登場

    PHP言語を用いてデスクトップアプリケーションを開発可能にするフレームワーク「NativePHP」が登場しました。現在アルファ版として公開されています。 PHPランタイムとElectron/Tauriをバンドル NativePHPHTMLCSSJavascriptそしてPHPを用いてWindowsMacLinuxのクロスプラットフォームに対応したデスクトップアプリケーションを開発可能にするフレームワークです。 PHPランタイムと、アプリケーションからホストOSへアクセスするためのクラス群、Web技術デスクトップアプリケーションを開発可能にするフレームワークであるElectronもしくはTauriをバンドルし、アプリケーションとしてビルドする機能を備えています。 現時点ではPHPのフレームワークとしてLaravelをベースにしていますが、特定のフレームワーク依存をなくしていく方向

    「NativePHP」、PHPでデスクトップアプリを開発できるフレームワークが登場
    yamadar
    yamadar 2023/08/07
    なんだこれw 触ってみようかな
  • PHP 5.6、7.0、7.1、7.2およびHHVMのベンチマーク(2018年)

    PHP 8.1、8.2、8.3のパフォーマンスベンチマーク PHPは、最も使用されているサーバーサイドプログラミング言語の1つであり、現在稼働中の全サイトの約76%で使用されています。Kinstaでは、毎年さまざまなPHPフレームワークのパフォーマンスベンチマークを行い、各PHPバージョンの性能を比較しています。 2023年12月は、PHP 8.1、8.2、8.3を11種類のコンテンツ管理システム(CMS)とフレームワーク(WordPress、WooCommerce、Drupal 7および10、Joomla、Laravel、Symfony、CodeIgniter、Craft CMS、Typo3、Opencart、Stamic)を使ってベンチマークを行いました。また、WordPressとWooCommerceでは、PHP 7.4も使用しています。 PHPは、パフォーマンスとセキュリティの最適

    PHP 5.6、7.0、7.1、7.2およびHHVMのベンチマーク(2018年)
  • Laravel の認証・認可パッケージが多すぎてわけわからんので図にまとめた - Qiita

    元ネタ @localdisk さんの記事です。 こちらで概ね適切に説明されているものの,文章のみで図が無くて直感的に把握しづらいので,初心者にもすぐ飲み込ませられるように図に描き起こしてみました。 図 解説 illuminate/auth: 最小限の認証認可コアロジック コアコンポーネント群の laravel/framework に含まれているものです。 Socialite 以外のすべてのパッケージが,実質このコアに依存していることになります。 以下の記事でこのパッケージの詳細について説明しているので,ここでは端折って説明します。 伝統的 Cookie ベースのセッション認証 こちらでも解説している, 「Cookie に識別子を載せ,それに対応する情報はサーバ側のファイルに記録する」 という手法に近いものです。 実装は illuminate/session にあり, PHP ネイティブのセ

    Laravel の認証・認可パッケージが多すぎてわけわからんので図にまとめた - Qiita
  • laravelのヤバい脆弱性をついたkinsing(kdevtmpfsi)というマルウェアに感染した話 CVE-2021-3129 - Qiita

    laravelのヤバい脆弱性をついたkinsing(kdevtmpfsi)というマルウェアに感染した話 CVE-2021-3129PHPSecurityLaravelkinsingkdevtmpfsi webサーバー上でlaravelを動かしていれば、ちょっとした設定のミスで誰でもマルウェアに感染する可能性がある激ヤバセキュリティホール(CVE-2021-3129)が2021年1月20日に報告されています! composerでインストールしたパッケージをバージョンアップせずに使っていませんか? インターネット上に公開されているサーバー、特にステージングや開発環境でDEBUG=ONにしていませんか? エラー画面がこんな風に見えますか? この3つの条件を満たしていると、あなたのlaravelは、今すぐにでもマルウェアに感染する可能性があります。 laravelの脆弱性をついたkinsing(k

    laravelのヤバい脆弱性をついたkinsing(kdevtmpfsi)というマルウェアに感染した話 CVE-2021-3129 - Qiita
  • PHP: PHP 8.0.0 Release Announcement

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: PHP 8.0.0 Release Announcement
    yamadar
    yamadar 2020/11/27
  • PHP7から定数配列がOPcacheに乗るので巨大配列が使い放題という話 - hnwの日記

    PHP 7.0のリリースから約5年が経過し、そろそろPHP 8.0のリリースも見えてきました。人によっては使い始めて5年目になるはずのPHP 7.xですが、いまだに新しい発見があったりして面白いですね。 稿ではPHP 7.0から入った定数配列に関する性能改善について紹介します。 PHP 5時代は配列の組み立てコストが大きかった プログラミング上のテクニックとして、辞書データを連想配列としてプログラム中に記述し、これを必要に応じて使うというものがあります。たとえば次のコード例を見てみましょう。このような連想配列を持っておけば、プログラム中で国名コードをを扱う際に実在するかをチェックしたり、国名の日語表記に変換したりといった処理ができるわけです。 <?php $country_name = [ 'jp' => '日', 'us' => 'アメリカ合衆国', 'ru' => 'ロシア連邦'

    PHP7から定数配列がOPcacheに乗るので巨大配列が使い放題という話 - hnwの日記
  • P++: 静的型付けをめざすPHP

    PHP: pplusplus:faq PHP 8から、PHPは「PHP」と「P++」という2つの言語を提供するようになる。P++はPHPとの下位互換性を削りながら除々にPHPを静的型付け言語にする試みだ。 PHP開発者の中には2つの流派がある。PHPの源流であり現在の形である動的型付け言語としてのPHPを良しとする流派と、PHPをより強い静的型付け言語へと発展させたい流派だ。良い悪いの問題ではない。どちらの流派も正当な理由がある。しかし、ゆるふわな動的型付け言語とガチガチの静的片付け言語は同じ一つの言語として同居できない。 そこで、コードネームP++として、PHPを静的型付け言語に発展させる新しい言語の開発が提案された。P++はforkではなく、PHPと同じコードベースを共有する。PHP 8のバイナリはPHPとP++を同時に実装する。言語の切り替えは何らかの宣言によって指定する。 P++は

    yamadar
    yamadar 2019/08/13
    ライブラリ作る時はP++になりそうだなぁ
  • Googleではどこのどんな部分をPythonで書いていますか?

    回答: PythonGoogleの正式な開発言語です。これに並んで良く使われているのはJavaC++です。Googleはプログラム言語であるPythonの開発を支援していて、また沢山のPythonの協議会(たとえばPyCon)に出資もしています。Pythonのデザイナー兼クリエイターであるGuido van Rossumは、DropBoxに移籍した2012年までGoogleに雇われていました。 さて質問に戻りましょう。Googleでは、Pythonは以下のように無数の内部システムで使われています。 1. Googleでは、多くの核となる検索アルゴリズムが、PythonC++で書...

    Googleではどこのどんな部分をPythonで書いていますか?
  • PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ

    この投稿はPHP Advent Calendar 2013の12日目の記事です。 PHP恒例行事の参照と三項演算子のdisりですが、そろそろあさってな議論はやめませんかという話です。 今年のPHP-dis大賞といえばこちら。 PHPとかいう糞言語|いんまのブログ ※ 追記: これ書かれたのは2012年でしたすんません。 なんで君たちそんなコードが必要なのかね、と。結論から先言うと、きみたちがPHPが使えないって思うのは、そんな挙動に左右されるようなコードを書くからでしょ、だからCとかRubyとかそういう簡単な言語でわかった気になっている初心者はまったくもう...というわけでPHPの言語文法の基礎んとこ、いきますね。 まず、PHPのarrayは「値」です。もちろん文字列も「値」です。値は値なんだけど、それはミュータブルです。PHPのarrayもしくは文字列の代入は、一見すると、ポインタを使わ

    PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ
    yamadar
    yamadar 2018/08/22
  • 3v4l.org - online PHP shell with 250+ PHP versions

    Welcome to the best online PHP shell3v4l.org (leetspeak for eval) is an online shell that allows you to run your code on my server. I compiled more than 250 different PHP versions (every version released since 4.3.0) for you to run online. For every script you submit, this site tells you: Output from all released, plus upcoming alpha/beta/RC PHP versionsPerformance (time and memory) of every versi

    3v4l.org - online PHP shell with 250+ PHP versions
    yamadar
    yamadar 2018/07/10
    PHPコードスニペットを動かして共有できるサービス
  • SlackはPHPっぽいもので作られているらしい - Crieit

    (※2016年に書かれた記事の翻訳ですので今とは違う情報が含まれます) 現在業務用としても一般のコミュニティとしてもよく使われているチャットサービスのSlack。サーバーサイドはどのプログラミング言語で作られていると思いますか? 実はPHPで作られています。(現在は恐らくHack) 詳しくはSlackのチーフアーキテクト職の方が書かれた下記の記事に書かれています。(2016年に書かれたものです) Taking PHP Seriously – Several People Are Coding ちょっと驚きですよね。今の時代だと日だとスタートアップ界隈ではRailsが人気ですし、そもそもチャットシステムを作るのであればWebSocketを使うためにGo, Elixir, Node.jsで実装するのが普通のような気がします。 なぜPHPを選んだのか? まず最初に語られているのは、大勢の人がP

    SlackはPHPっぽいもので作られているらしい - Crieit
    yamadar
    yamadar 2018/07/10
    そういえばHackとHHVMはスルーしてた。検討してみようかな
  • PHPは文字列を掛け算できない - bojovs blog

    ここで言う「掛け算できない」っていうのは、掛けた分だけ文字列を連続して表示できないということです。 問題(ってわけじゃないけど) C:\Documents and Settings\bojovs>php -a Interactive mode enabled 「嘘だ嘘だ嘘だッ!!!」と返ってきて欲しいのに返ってこない。ちなみにPythonでは、 C:\Documents and Settings\bojovs>python Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print "嘘だ" * 3 + "ッ!!!" 嘘

    PHPは文字列を掛け算できない - bojovs blog
    yamadar
    yamadar 2018/07/05
  • PHPの__getメソッドではまったところ - pirosikick's diary

    PHPでハマったことがあったので書きます。常識的なことだったらすみません。。 __getメソッドとは __getメソッドは存在しないプロパティへのアクセスがあったときに呼ばれます。 __getメソッドはPHPのオーバーロード機能の1つです。PHPのオーバーロード機能はプロパティやメソッドを動的に生成する機能で、Javaとかのメソッドのオーバーロードとは全然違いますのでご注意ください。 __getメソッドを使ったサンプルクラス 以下のようなクラスを作ります。 <?php class Sample { private $_array; public function __construct() { $this->_array = array(); $this->_array['test'] = 'hogehoge'; } public function __get($name) { if (i

    PHPの__getメソッドではまったところ - pirosikick's diary
    yamadar
    yamadar 2018/06/27
    面白い
  • 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の日記
    yamadar
    yamadar 2018/06/27
  • password_hash()の安全性について

    パスワードの保存にハッシュ値を用いるのは、「もっと良い方法がない」からというのが単純化した理由です。 たとえば、暗号鍵を安全に保存でき、外部に漏洩しないことが確実であるならば、ハッシュ値よりも暗号化して保存した方が確実です。 しかし、そもそもパスワードを保護する理由というのは、なんらかの理由でパスワード情報が漏洩した後の保護をしたいわけなので、パスワード情報は漏洩するが鍵は漏洩しないというシナリオは描きにくいわけです。絶対にできないわけでもありませんが、ハードウェアセキュリティモジュール(HSM)を使用するような高価な方法となりますし、サーバーに侵入されているという前提では、HSMとて絶対とまでは言えません。 このため、暗号鍵のような秘密情報を安全に保存できるという前提をさわやかにあきらめた方法が、pashword_hash等で採用されている方法で、これが現在の主流です。 まず、ハッシュ値

    password_hash()の安全性について
  • PHPで==の代わりにstrcmp関数を使うことによる問題点 - hnwの日記

    補足(2010/12/01 03:00):floatからstringへのキャストで丸められる桁数についてですが、php.iniの設定値「precision」の影響を受けるようです。 僕は以前から「PHPの==はキモいから===を使おうよ」と言っているつもりです(参考:「PHPの==がキモい件」)。しかし、ネット上には==を使った比較での不慮の事故を防ぐ目的で、「安全な==」としてstrcmp関数を使って比較している人が居るようです。このやり方について問題点を指摘します。 strcmpで比較するというのはstring型にキャストをして比較するのと同じですから、キャストして何が起こるか熟知していないと比較結果は想像がつきません。僕は全ての型からstring型へのキャストで何が起こるかスラスラ言えるわけではありませんから、何でもstrcmpするのは==を使うのと同じように怖いと感じます。 今回、

    PHPで==の代わりにstrcmp関数を使うことによる問題点 - hnwの日記
    yamadar
    yamadar 2017/12/26
  • phpの参照渡しはメモリを食うって本当? - Qiita

    はじめ phpでむやみに参照渡しすると、メモリうという。 ↓ここら辺で検証されているが、果たしてphp5.4でも状況は変わらないのか検証したい。 http://tanakahisateru.hatenablog.jp/entry/2013/12/12/012728 http://qiita.com/dkkoma/items/7fd216795ee2b90d90c6 検証環境 linux PHP 5.4.17 (cli) (built: Aug 21 2013 18:22:59) ソースコード 参考にしているソースそのままだが、下記。 <?php function profile($funcname) { $bigarray = range(1, 1000000); echo $funcname . "\n"; if ($funcname) { $start = microtime(tru

    phpの参照渡しはメモリを食うって本当? - Qiita
    yamadar
    yamadar 2017/10/28
    コメントが本番。すげぇ
  • 運用、追加開発しづらいPHPアプリケーションに未来を与える方法 - Speaker Deck

    Transcript ӡ༻ɺ௥Ճ։ൃͮ͠Β ͍PHPΞϓϦέʔγϣ ϯʹະདྷΛ༩͑Δํ๏ VOYAGE GROUP ాத վ (ara_ta3) PHP ΧϯϑΝϨϯε 2017 #phpcon2017_3 ࣗݾ঺հ • VOYAGE GROUP ৽ଔ4೥໨ • fluct(޿ࠂ) -> Zucks(޿ࠂ) -> HR Tech Studio(ਓࡐ) • ओʹαϙʔλʔζ։ൃ • Twitter(@ara_ta3) • ޷͖ͳݴޠ • Scala, Go, PHP7.x • Splatoon2 ΢σϚΤ S+0 VOYAGE GROUP VOYAGE GROUP None None • ӡ༻ɺ௥Ճ։ൃͮ͠Β͍ΞϓϦέʔγϣϯ ΛͲ͏վળ͍͔ͯ͘͠ • ୈҰา໨ΛͲ͏΍ͬͯ౿Έग़ͯ͠ະདྷʹ޲ ͔͏͔ ࠓ೔఻͍͑ͨ͜ͱ Agenda • ӡ༻ɺ௥Ճ։ൃͮ͠Β͍ͱ͸ʁ • αϙʔλʔζͷ౰࣌ͷ؀ڥ

    運用、追加開発しづらいPHPアプリケーションに未来を与える方法 - Speaker Deck
  • 広告配信管理システムを支えるPHP - レガシーシステムからの段階的移行戦略 / phpcon2017

    PHPカンファレンス2017での発表資料です。

    広告配信管理システムを支えるPHP - レガシーシステムからの段階的移行戦略 / phpcon2017
    yamadar
    yamadar 2017/10/09
    割れ窓を塞いでいくような、地道な努力の賜物。素晴らしいスライド。
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    yamadar
    yamadar 2017/10/02