タグ

phpに関するghostbassのブックマーク (193)

  • 【PHP】PHPの開発環境、XAMPPの使い方 - Qiita

    はじめに こんにちは! 中学2年生のWardHamamatsu67です! 今回は、プログラミング言語のPHPの開発環境であるXAMPPの使い方について説明したいと思います。 What's XAMPP?? XAMPPとは、先程も説明した通り、PHPの開発環境です。主にPHPのプログラムを実行するときに使います。たとえPHPのコードがきちんと書けていたとしても、XAMPPが正常に動いてなければ実行ができません。そのため、PHPをやる上で、XAMPPは必須なのです!! 使い方 先程、PHPをやる上でXAMPPは必須と言いましたが、XAMPPでやることは1つだけです。それはXAMPPにあるモジュールを動かすことです。やり方は、XAMPPを開いて、Actionsの下に「start」ボタンがあるのでそれを押します。しばらく待つとモジュールの色が緑色になります。そうなったら終わりです。以上!! おわりに

    【PHP】PHPの開発環境、XAMPPの使い方 - Qiita
    ghostbass
    ghostbass 2024/03/28
    ほうほう
  • 【PHP】DDDにおける値オブジェクトを変更したい時のメモリ周りについて調べた - BASEプロダクトチームブログ

    こんにちは! バックエンドエンジニアの高町咲衣です! この記事では、PHPでDDD(ドメイン駆動設計)を扱う際に気になる「値オブジェクトを更新=作り直した時のメモリ周りの挙動」について調査した結果をまとめています。 値オブジェクトは不変である DDDの文脈における値オブジェクト(ValueObject)の特徴の一つとして、不変(immutable)であることが挙げられます。 値オブジェクトは「値を表現する」オブジェクトであり、例えばプリミティブな値であるint、stringなどと同じように取り扱うべきだとされています。 // プリミティブな値を用いた、ごく一般的な感覚のコード例 $number = 1; // 値をセットする $number = 2; // 値を入れ直す var_dump($number); // 2 var_dump($number === 1); // false //

    【PHP】DDDにおける値オブジェクトを変更したい時のメモリ周りについて調べた - BASEプロダクトチームブログ
    ghostbass
    ghostbass 2023/04/06
    なるほど
  • 【php】mcrypt関数廃止の対応 at softelメモ

    問題 php7で、mcrypt関数が使えなくなってるそうですね。 代替手段は? 答え 以下は同じ結果が得られた。 opensslに変更できそう。 mcrypt_cbc() $password = 'test345678'; $iv = 'password'; $key = substr(md5('password'), 0, 24); $x = bin2hex(mcrypt_cbc(MCRYPT_3DES, $key, $password, MCRYPT_ENCRYPT, $iv)); // string(32) "4356c3964077d869d1ecbcb0eecf4b8d" mcrypt_encrypt() $password = 'test345678'; $iv = 'password'; $key = substr(md5('password'), 0, 24); $x =

    【php】mcrypt関数廃止の対応 at softelメモ
    ghostbass
    ghostbass 2023/04/03
    “des-ede3-cbc”
  • React.JS + Laravel 8 + MySQL + API REST でCRUDを作ってみた vol 1

    前回の記事で、Laradockを使用して、docker上にlaravelの仮想環境を構築しました。 LaradockでLaravel環境を構築する 今回は、その環境を利用して、React.JS + Laravel 8 + MySQL + API RESTでCRUDを作成してみたいと思います。 Laravelプロジェクトの作成 前回の記事に沿っている方はすでに作成していますが、まず、LaravelプロジェクトをComposerでインストールします。 laravel/uiのインストール 次にlaravel/uiをインストールします。laravel/uiをインストールすると、artisan uiコマンドが使えるようになります。これはフロントエンド開発を行うためのテンプレートです。 Reactのインストール 次にReact.jsをインストールします。 npm install && npm run

    React.JS + Laravel 8 + MySQL + API REST でCRUDを作ってみた vol 1
  • MongoDBインストール ~ PHPで使うまで - Qiita

    1.環境 さくらVPS(CentOS release 6.5 Final) 上記サーバーにyumでMongoDBを入れたあと、PHPから使えるように設定します。 2.MongoDBをyumコマンドでインストール 【1】yumリポジトリ追加 # vi /etc/yum.repos.d/10gen.repo -------------------------------- [10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=0

    MongoDBインストール ~ PHPで使うまで - Qiita
  • PHP5.6とMySQL8で「Server sent charset (255) unknown to the client.」ハマった…

    実証環境 Windows10 Apache2.4.10 PHP5.6.4 MySQL8.0.15 (旧)MySQL5.6.43 PHPはmod_phpでApacheと連携、MySQLにはPDOで接続しています。 経緯 開発環境で使用していたphp5.6.4+MySQL5.6.43をMySQL8に移行しようとしました。 MySQL8.0.15をインストールして、既存のMySQL5.6.4から必要なDBだけdumpして移行する予定。 MySQL8.0.15をインストール後にphp5.6.4から接続確認をする時にハマりました。 テストDB MySQL8.0.15をインストール後に下記DBとTABLEを作成。 テスト用のDB mysql> CREATE DATABASE test; テスト用のTABLE mysql> CREATE TABLE sample(id int,name text); テ

    PHP5.6とMySQL8で「Server sent charset (255) unknown to the client.」ハマった…
    ghostbass
    ghostbass 2021/09/07
    問題なのは php5.6のほうでしょ…
  • PHPでパスワード比較に==とか===使っちゃだめって知ってた? - Qiita

    PHPerの皆さん、重要な文字列を入力データと保管情報を比較するときに比較演算子("=="とか"===")使ってませんか? これ実は使っちゃだめなので、気をつけましょう。 なぜだめなの? (2020/8/31修正) 関数名をtypoしていたため修正しました。(正)memcmp・(誤)strcmpです。 PHPを含む多くの言語では、文字列を比較する際に内部で memcmp() を使います。 通常の(厳密なセキュリティを必要としない)ケースでは、比較演算子を使うことはまったく問題ありません。 パスワードなど絶対に推測されてはいけない文字列を比較する場合、この関数は脆弱といえます。 memcmp() は内部で1バイトずつ比較検証するため、応答時間をもとに先頭から何文字正解だったか推測できます。 このような攻撃を「タイミング攻撃」といいます。 どうすればいいの? PHPでは、ハッシュ値を用いて文字

    PHPでパスワード比較に==とか===使っちゃだめって知ってた? - Qiita
    ghostbass
    ghostbass 2020/08/29
    どうせハッシュしてるしpassword_hash()したバイト列と保存したバイト列を単純に比較したところで「パスワード文字列の何文字目まで一致している」なんかわかるはずないと思います。
  • このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita

    この記事ではPackagistで公開可能な形式のPHPのライブラリ(Composerパッケージ)を公開するための道具立てを紹介します。あと、現代のPHPerはツールを組み合せてさくっと開発しているんだという自慢です。 タイトルは「この TypeScript が Hello, world! のくせに慎重すぎる」と「この勇者が俺TUEEEくせに慎重すぎる」のぱくr… パロディです。 テンプレートエンジンのくせに型安全なんてなまいきな。 この記事の読みかた せっかくなので手を動かしながら自分でComposerパッケージを作成してみましょう。 今回の題材は「Hello worldを出力する」という革新的機能を提供する、とても画期的な実用ライブラリです。 記事名通り「慎重すぎる」ので、細かく刻んでGitで経過を保存しながら作業を進めていましょう。なんかよくわからない状態になったらgit reset

    このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita
    ghostbass
    ghostbass 2020/01/29
    しょっぱなから慎重じゃないじゃん!
  • PHPはもうダメだ、PHP万歳! | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) GutenbergとWordPressに関する騒動は、PHPの終焉につながる最新記事です。深呼吸をしてください、みなさん。トロールは無視し、Mark TwainとFidel CastroとPHPとの共通点を見ていきましょう。そして、もっと重要なのは、スタートアップやスモールビジネスにとって、PHPが今でも合理的な選択である理由です。 PHPはいつから廃れ始めたのか “PHPはもうダメだ”といったブログの投稿が、登場し始めたのは2011年のようです(これより古いものを見つけたら、お知らせください)。Mediumや、mushroomsのように突然出現したcoding bootcampsを探し回れば、その唯一の共通点は、みんながPHPを嫌っているか、あるいは単に無視しているかです。どうやら、法外な値段のコー

    PHPはもうダメだ、PHP万歳! | POSTD
    ghostbass
    ghostbass 2019/03/28
    PHPっていつも終わってるよな
  • 罵声を浴びて疲れた...入社3日目 - Qiita

    はじめまして、PHPプログラマーのアリスです。私はこう見えて日人ですが、母親はイタリア人です。さて、今回は入社3日目の初心者PHPプログラマー仕事でどんなことをしているか書きます。 1日目 1日目は、最初に自己紹介を行いました。 「山田アリスと申します。専門学校でプログラミングを学びました。バックエンドプログラマーとして配属されましたが、最初はわからないことが多いと思いますが、よろしくおねがいします。」 と言いました。歓迎ムードではなく、みんな無表情で手をぱちぱちしていました。 その後、「新人は入社後の手続きをしてください」と言われ、そのとおりにしました。その日の記憶は、それしかありません。 2日目 配属先で何をするかと思ったら、上司から「自分のPCの環境を完璧に設定しろ。後からバカみてぇにコロコロといらねーもん入れたら承知しねーから、今のうちに必要なものは入れておけ」と言われ、Ema

    罵声を浴びて疲れた...入社3日目 - Qiita
    ghostbass
    ghostbass 2018/11/14
    仕事ならMVCフレームワークとかbootstrapとか使わない選択肢などないが、スクラッチで書くことは自信につながる、と個人的に思う。
  • PHPを拡張する言語、Zephirについて - Qiita

    PHPはいかにして拡張されるか PHPは従来、C言語で書かれたExtensionによって拡張されて来ました。 しかしPHPの開発者にとってCのハードルは高く、またCの開発者も明示的なメモリ管理に難儀してきました。 それを解決するのがZephirというPHP Extension開発専用の言語です。 PHPを拡張する言語、Zephirとは http://zephir-lang.com/ Zephir(Zend Engine PHP Intermediate)は現在、Phalcon開発チームが並行して開発を進めている静的/動的言語です。 静的に変数型を宣言するのが標準的な記法ですが、型推論の機能を利用することも可能です。 2014年12月末現在での最新バージョンは0.5.7で、安定版に達していないものの、既に実用レベルのExtensionをPHPとほぼ変わらぬ記法で開発できるようになっています。

    PHPを拡張する言語、Zephirについて - Qiita
    ghostbass
    ghostbass 2018/11/13
    pre compiler言語?
  • ytake.blog | Laravel/データベースレイヤーの再考

    Laravel/データベースレイヤーの再考 Posted: 2015-05-31 02:02 | laravel PHP全般 テストを書くにあたり、より良い設計を考えて実装していくのはフレームワークの機能ではなく、 開発している方次第です。 Eloquentに依存しているシステムなども今一度考えながらリファクタリングを目指してみましょう。 ということで、今回は巷で言われているリポジトリーパターン風ではなく、 スタンダードなリポジトリ+エンティティをLaravelのデータベースコンポーネントの クエリービルダーを使って実装するサンプルです。 まず一つ、コントローラにEloquentなどのデータベースを用いる処理を乗せればMVCじゃん! という意識を少し変える必要があります。 今回の流れは リポジトリ->エンティティ->サービス->コントローラ として実装します。 モデルという言葉はどこにも出

  • 個人的にPHPで開発する上で頭に入れておきたいと思っている事 - Qiita

    はじめに 私は、これまでいくつかのPJでPHPの開発をしたり、自分でも勉強がてらアプリを作ったりしてきました。 その中で、同じPJに参画していた方から教えていただいた技術や自分でこれは心得ておきたいと思った事をまとめてみました。 また、最初にこの記事を書いたのは2018年3月ですが、半年後、1年後、さらにその先はガラリと状況が変わっている可能性もあります。 その場合、できるだけ最新の情報に更新し続けたいです。 1. バージョン もし、これから新規でPHPで何かを作り始めるなら間違いなく7系を使った方がいいです。 5系に比べて言語としての処理速度も上がっていますし、新機能も増えています。 昔からある古いプロダクトの保守などで、どうしても5系を使い続けなければいけないPJもあると思いますが、 5系で一番新しい5.6ですら2018年内にセキュリティサポートが切れてしまうので、多少大変でも7系への

    個人的にPHPで開発する上で頭に入れておきたいと思っている事 - Qiita
    ghostbass
    ghostbass 2018/03/08
    やっぱりLaravel人気なんだな…Facadeまわりがイマイチ自分好みではないのでsymfony+doctrineのほうが好きなんだが/ただしLDAPプラグインはよくできてる
  • PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016

    2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.youtube.com/watch?v=54jHDHvcYAo

    PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016
  • The end of the Symfony Standard Edition (Symfony Blog)

    ghostbass
    ghostbass 2018/01/12
    standard edition は良いソリューションだったが要件に合わない依存関係もあったりなので改善してみた、ってあたりかな
  • Laravel5 でURLベースの権限管理をする方法 | Crane & to.

    Laravel5 で権限管理が必要なシステムを開発しています。権限管理・ロール管理(認可)については、公式ドキュメント(英語家)・日語)に目を通しても実装イメージがわきにくいかと思います。ウェブ上にも参考情報があまりないようなので備忘として残してみました。 やりたいこと URLベースのアクセス権限管理をしたい。つまり特定のURLにアクセスできるのを(管理者)権限を持ったユーザーに限定、権限のないユーザーがアクセスした場合には403エラー画面を表示という仕様の実現です。 権限管理(認可)の前提として認証(ログイン処理)がありますが、認証には Laravel5 標準の Auth を利用します(以下 Auth による認証が大前提)。 メンテナンス性を重視 シンプルでメンテナンスしやすい実装を心がける。コントローラーのアクションごとにアクセス権限のチェック処理を入れる、といった実装は煩雑な実

    Laravel5 でURLベースの権限管理をする方法 | Crane & to.
  • GitHub - jotaelesalinas/laravel-adminless-ldap-auth: Authenticate users in Laravel against an adminless LDAP server

  • mysql_*が非推奨になり、その後廃止された理由とは?

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。 PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

    mysql_*が非推奨になり、その後廃止された理由とは?
    ghostbass
    ghostbass 2016/12/30
    ライセンスの問題はないの?
  • PHPカンファレンス関西の感想と100万件バッチで死なないLaravel - localdisk

    2016年7月16日(土) に開催された PHP カンファレンス関西 2016 に行ってきました。 conference.kphpug.jp 会場は、昨年と同じブリーゼプラザ(大阪西梅田)で行われました。uzulla さんのエントリにあるように綺麗でオシャレ感漂うビルです。 さて、ここからは聞いたセッションの感想等を。 [基調講演] Composerを速くするために必要だったもの speakerdeck.com 移動の都合で、はじめのほうを聞き逃してしまったんですけど、最高でした。僕はもう Composer ないと生きていけないし、それをより速くしてくれた Hiraku さんには感謝しかない。 当に必要だったのは問題を向き合うこと という言葉にはしびれました。 大量のデータで困ってませんか? Google BigQuery のお話。こういうPHPほとんどでてこない話が聞けるというのも、P

    PHPカンファレンス関西の感想と100万件バッチで死なないLaravel - localdisk
    ghostbass
    ghostbass 2016/07/21
    cursorってことはPDOにしろ何にしろ他のcursorを使えない?
  • New in Symfony 3.2: User value resolver for controllers (Symfony Blog)

    ghostbass
    ghostbass 2016/07/13
    Controller::getUserはsymfony4ではなくなる予定だが代わりにactionの引数として注入される…