PHP関連のことを調べてみた2023年07月27日

PHP関連のことを調べてみた2023年07月27日

PHPでCSVデータを取得する方法

CSVファイルはデータを保存し、転送するのに非常に便利な形式です。
PHPはこのようなファイルの処理を簡単にします。
この記事では、PHPでCSVデータを取得する方法を記載します。

## 完全なコード

以下に、CSVファイルからデータを取得するための完全なPHPコードを示します。

“`php
$file = fopen(‘your_file.csv’, ‘r’);

while (($data = fgetcsv($file)) !== FALSE) {
var_dump($data);
}

fclose($file);
“`

このコードを実行すると、CSVファイルの各行が配列として出力されます。では、このコードがどのように動作するのか詳しく見てみましょう。

## コードの解説

### ファイルを開く

まず、PHPの`fopen`関数を使用してCSVファイルを開きます。この関数はファイルのハンドルを返します。

“`php
$file = fopen(‘your_file.csv’, ‘r’);
“`

### データを取得する

次に、`fgetcsv

元記事を表示

可動式todoリスト作成記 / 拖動可更換次序的todolist

(JP)
8月。といえば旅行!

今年は青森,台湾に行く計画を立てた!

しかし、9月にさらに一大イベントがある。引越しだ。

私は同じところにずっといるのが嫌な性で、賃貸更新のタイミングで毎回引越ししている。

今年も田町から芝浦あたりに引っ越そうと思う!(近場に限る)

そうなると8月月初に飛行機予約,宿予約,賃貸物件選定と、やることが盛りだくさん。

何からやればいいのかわからん、、

そこでtodoリストを作りたいと思ったのだ!

作ってみたけど、結構手こずった。

コードはかなり煩雑になってしまったが、綺麗にする気力がない、、

今週か来週にはコード載せたいと思うので、誰かに手直しして欲しい、、

ちなみに、調べまくってドラッグで項目を入れ替えることも可能にした。

——
(CN)
最近很繁忙,要幹的事情好多,,,

8月份計劃去旅遊,9月要搬家等等

想整理一下該做的事情

於是做了一個只屬於自己的完全original的todolist

憑藉網友們的智慧,前天終於完成了!!(如下圖)

但編程碼非常凌亂,打算下禮拜發編程碼,希望有網友們來修改

這todolist

元記事を表示

【PHPStan】カスタムルール作ってみた

私が所属しているインターン先のコーディング規約にオペレーターに関しては厳密チェックを行うようにするといったルールがあります。

そこで今回PHPStanを用いて、==または!=を用いている箇所があった場合にPHPStanでエラーを吐き出すようにカスタムルールを作りました。

# 手順

## ルールクラス作成

追加したいルールのクラスを作成します。今回は==と!=があった場合にエラーを出したいので以下の二つを追加します。

どこに作っても問題ないですが、今回はApp\PHPStan\Rulesに作成します。

### **DisallowEqualOperatorRule.php**

“`php

元記事を表示

実務未経験者 共同開発2ヶ月間まとめ

# 1.はじめに
PHP、Laravelを学習し、LAMP環境での共同開発に参加しました。
共同開発の2ヶ月間をまとめて学んだことをアウトプットします。
これから共同開発に参加する方の参考になれば幸いです。

共同開発で行ったこと
– 環境構築(LAMP環境)
– GitFlow
– 開発
– 企画(オリジナル機能)
– テスト
– デプロイ

# 2.自己紹介
– 前職は某メディア会社で営業、企画・編集(紙、Web)
– 学習期間3ヶ月(5/8時点)
– Progate 1.5ヶ月
– PHP学習 0.5ヶ月
– LaravelでWebアプリ開発 1ヶ月
– 転職に向け学習中
– 実務未経験

# 3.共同開発の概要
概要
– 開発期間:2ヶ月(5/8〜7/7)
– 全体MTG 週1
– 講師主催の作業会 週1
– チームMTG 週1

– 構成メンバー
– 講師:現役プログラマー2名(レビュアー)
– 開発チーム:未経験3名 × 3チーム

# 4.成果物について
ネット大喜利サイト「[GiriGiri](htt

元記事を表示

allow_nil: trueとは

# はじめに
Ruby on Railsでは、データモデルのバリデーションを設定することが一般的です。その一部として、`allow_nil: true`というオプションが存在します。この記事では、`allow_nil: true`がどのように動作し、それがどのような状況で役立つのかを詳しく解説します。
### `allow_nil: true`の基本的な動作
`allow_nil: true`オプションは、指定した属性のバリデーションを行う際に使用されます。このオプションが設定されていると、属性の値がnilの場合にはバリデーションがスキップされます。つまり、その属性がnilでもバリデーションエラーにはならないのです。
### 例えば
Userモデルに`reset_password_token`属性属性が存在し、以下のようなバリデーションが設定されているとします。
“`ruby:user.rb
validates :reset_password_token, uniqueness: true, allow_nil: true
“`
いくつかのシナリオを見てみます。
①`reset_p

元記事を表示

【PHP】FPDFを使ってPDFを作成する

## はじめに

PDFファイルは、ビジネスの現場やウェブアプリケーションで頻繁に利用されています。一方で、その動的な生成は一筋縄ではいかない作業で、しっかりとしたライブラリが必要となります。そこで今回は、PHPでPDFを簡単に生成できるライブラリ、「FPDF」の使い方について解説します。

## FPDFとは?

FPDFは、無料で利用できるオープンソースのPHPライブラリで、動的にPDFを生成するための機能が豊富に備わっています。また、使いやすいAPIを提供しているため、PDF生成を必要とする多くのPHP開発者にとって有用なツールとなっています。

## FPDFのインストール

FPDFの公式サイト(http://www.fpdf.org/) からダウンロードできます。ダウンロード後、解凍して得られた `fpdf.php` をプロジェクトの適切なディレクトリに配置します。

## FPDFの基本的な使い方

以下に、基本的なPDFの作成手順を示します。

“`php
Add

元記事を表示

30歳未経験エンジニアおじさんの日記帳 7/25

### Laravelでデータベースのデータをいい感じに表示できてうれしい

![スクリーンショット 2023-07-25 20.58.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3357049/1d92ba26-0db3-7f9d-a755-31717ead3e38.png)

最近作っているサイト
名前とか取れました、嬉しい

### コードはこんな感じ
もでる
“`
protected $fillable = [
‘name’,
‘email’,
‘password’,
‘business_hours’,
‘phone_number’,
‘prefecture’,
‘url’,
];
“`

こんとろら
“`
public function index()
{
// ログインしているユーザーの情報を取得
$objec

元記事を表示

30歳未経験おじさんの日記帳 7/24

## Laravelなんとなくわかってきたぞ、、、!

本日もLaravel日和。
本日は、データベースからデータを取得してViewに表示することができたぞ。

Laravelの概要もなんとなくわかってきた。
MVCというのはなんとなく知っていたが、
今日は真理に一歩近づいたかもしれない。

### route
使うのはweb.phpとauth.php(laravel breeze)を使用する。
そのまんまルーティングの設定。
こいつへの記述を忘れてエラーになりまくった
今後は忘れない(忘れる)

### model
主にバックエンド操作を記述する
今回はデータベースへデータを入れたり取り出したり
更新したり、削除したり。
いわゆるCRUD操作をすルため

### view
ブラウザ上に表示される部分。
フロントエンドやね。
react触ってたからここはなんかイメージしやすい。
データベースからとってきたデータとかを自在に表示するのが私の夢。

### controller
こいつが曲者。
modelとviewの架け橋になるやつで、
model→controller→view
view

元記事を表示

【PHP】定数constの使用方法

変数は何度でも値を変更することができますが、定数は一度設定した値を変更することができません。定数は変わらない数と覚えておきましょう。

# 使用例

“`php
const MAX = 10;

echo MAX;
“`

定数は通常の変数と区別するために、基本的に**アルファベットの大文字**で記述するのが慣例となっています。

変数の先頭に$の記号は付けませんので注意しましょう。

### 表示例

“`php
10
“`

かわらない数なので以下のように書いても一番上の文字が優先的に表示される

“`php
const MAX = 10;
const MAX = 11;

echo MAX;
“`

### 表示例

“`php
Warning: Constant MAX already defined in C:\xampp\htdocs\php_test\index.php on line 4
10
“`

すでにMAXという定数は存在しているためエラー文を表示させています。

元記事を表示

【PHP】変数($)とは表示方法や値の代入方法について

変数は簡単に言うと**値を入れて置ける箱**みたいな物です。

“`php
$変数名 = 値;
“`

“`php

元記事を表示

Amazonエンジニアの年収上限が4000万円にアップした背景まとめてみた

![pasted image 0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456084/0073f1e8-5257-e7f4-1e8a-4a853b3e8a23.png)
https://oceans.tokyo.jp/article/detail/36460

2022年2月からアメリカのAmazonで働くエンジニアや管理部門で働くスタッフの基本給の上限が4000万まで引き上げされたのなんで?と思ってまとめています!!

しかもこの4000万に引き上げられたのは、マネージャー、ディレクターなどの管理職を除く一般社員だというから驚きです。。
基本年収の他にも、入社時の一時金や譲渡制限付株式ユニットなども含まれるため、実際の支給額はさらに増える見込みで、改善前と比べると約2倍の給料増額になっています。。

Amazonすごい!ってなるところですが、実はこれでも他Apple、Googleなどのライバル企業に比べると若干劣勢になるのだとか。
他大手の企業も特別賞与を支給したりしているそうです。

##

元記事を表示

【PHP8.3】PDOでデータベース固有機能が使えるようになる

[PDO](https://www.php.net/manual/ja/book.pdo.php)は汎用データベースドライバです。

“`php
// MySQL
$pdo = new PDO(‘mysql:host=localhost;dbname=test’);

// PostgreSQL
$pdo = new PDO(‘pgsql:host=localhost;dbname=test’);

// SQLite
$pdo = new PDO(‘sqlite:/path/to/sqlite_db.db’);

// 以後は同じように使える
$data = $pdo->query(‘SELECT * FROM table’);
“`

接続先のDBがどんな種類であろうと、DSNを変えるだけで全く同じに書くことができます。
素晴らしく便利ですね。

逆にいうと汎用ドライバであるため、それぞれのDBに固有の機能とかは使いづらいです。
そういうのはわざわざ[固有モジュール](https://www.php.net/manual/ja/refs.database.vendors.php

元記事を表示

ITエンジニアなのにまだ投資やってないの?ChatGPTでクオンツシステム作って儲けようぜpart3

## 前回まで
[ITエンジニアなのにまだ投資やってないの?ITエンジニアならChatGPTでクオンツシステム作って儲けようぜ](https://qiita.com/kazukichi/items/fa6433c3d0115c2b627b)
[ITエンジニアなのにまだ投資やってないの?ITエンジニアならChatGPTでクオンツシステム作って儲けようぜpart2](https://qiita.com/kazukichi/items/b211fca9c414aeff0e92)

## ネトフリは面白い
僕はネトフリのヘビーユーザーなんですが、投資系にも
リーマンショックまでの経緯と仕組みを実録インタビューで振り返る「インサイドジョブ」や

AIテック系の話で、チェスは機械には勝てないと言われてAIが勝ち、「人間の高度な知的能力でしか勝てない」と言った囲碁の世界王者に勝ち、今では7、8年も訓練を積んでようやくなる戦闘機のエースパイロットにも勝ち、AIの実用速度の高さをドキュメントした「アンノウン」なんかも面白いし勉強になります。

## 投資思考では技術力UPは悪手
投資思考って事業でも人生

元記事を表示

AIと言えば簡単だが、AIと言わない私の信念。

はじめての投稿ですので、乱文や間違った表現はご容赦ください。
一部宣伝を含みますが、全体としては私個人的なAIに対しての考え方ですので、あわせてご容赦ください。

独学でプログラムを覚えて・・・

去年暮れぐらいから、独学でプログラミングを勉強してきました。
作りたいWEBアプリケーションがあり、制作会社に見積もりを出していただいたところ、200万円という金額だったので、「無理無理、自分でつくろう。」と思い自分で作りました。

結局勉強時間含め、10ヶ月ぐらいの歳月が経ってしまいました。
(見積もりでは3ヶ月だったので、3倍の時間がかかってしまいました。)
が、今回完成しました。

完成したサービスは…
「広告主とメディアをマッチングする広告の直売所」

というコンセプトでサービスを作成しました。
良ければ、御覧いただけると幸いです。
https://frame.adpentas.com/top_page

検索アシスト

このサービスの機能に検索アシストというサービスを実装しています。

この検索アシストは質問に答えて行くと「最適なアイテムを自動で

元記事を表示

DockerのMySQLに接続できなくて困った話

## 開発環境

M1Mac
PHP,Laravel
Docker
(nginx:1.17-alpine,php 7.4,mysql 8.0.32)

## Laravelとデータベースが接続できなくて困った( ´Д`)y━・~~

LaravelとDockerを使ってでサイトを作っていたのだが、
データベースに接続できなくて、php artisan migrateができない!
という所で詰まった。

.envファイルの内容もあっている様だが、どうにも接続できない、

## 解決方法

ターミナルからDockerに入ってphp artisan migrateしたらmigrateできましたとさ。

結局のところは、
ローカルのLaravelからDockerのMySQlに接続するのではなく、
DockerにあるMySQLにはDockerに入って接続すればよかった様です

自分が今ローカルで作業しているのか、Dockerで作業しているのかを考えるのが大事かも。

## まとめ

Dockerのデータベースに接続するには、Dockerに入って接続するべし!
ということで引き続き開発を進めてい

元記事を表示

Laravelを学んでいるエンジニアがPHPの基礎を勉強する日記1

![PHP](https://upload.wikimedia.org/wikipedia/commons/2/27/PHP-logo.svg)

## はじめに
私は普段、Laravelを使ってWebアプリケーションを開発していますが、PHP自体をきちんと勉強したことがあまりありませんでした。そこで、プログラミングPHP 第4版というオライリーの書籍を手に取り、PHPの基礎を学ぶことにしました。

## 今日学んだこと
今日は字句構文や変数、配列の基本について学びました。

## 初めて知ったこと

### 1. 可変変数
PHPでは可変変数という特殊な機能があります。これは、変数の中身の値を別の変数として利用できるというものです。以下に簡単なコード例を示します。

“`
$foo = ‘bar’;
$$foo = ‘Hello, World!’;

echo $bar; // 出力結果: Hello, World!
“`

この例では、$fooの値がbarであり、それを可変変数として利用して新しい変数$bar

【速報】 #LaraconUS 2023 が開催された模様です

こんにちは。やまゆです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332028/a1cdcdbe-fde8-3070-30ba-8ec4c777d226.png)

https://laracon.us

Laravel で最大規模のイベントである **LaraconUS 2023** が日本時間の 2023/07/20~2023/07/21 の2日間、アメリカテネシー州のナッシュビルで開催された模様です。

現地参加は出来なかったので、 Twitter 等で情報収集して発表された内容をいくつかかいつまんでまとめてみます。

## スタート

8時半から受付開始とのことで、朝はえーすげーとなりました。

会場は 800 人の開発者で埋め尽くされたそうです!凄い活気!

https://twitter.com/jbrooksuk/status/168186862818

laravel10のログをCloudWatchに送信する方法

https://github.com/tarfin-labs/laravel-cloudwatch-logger
を実行する。

これだけだと下記のようなエラーが出る
```
Declaration of Maxbanton\Cwh\Handler\CloudWatch::write(array $record): void must be compatible with
Monolog\Handler\AbstractProcessingHandler::write(Monolog\LogRecord $record): void
```

その場合、monolog/monolog のバージョンを2.91に下げる

PHPで作った便利な自作関数集

```php
$val ) {
if ( is_array( $val ) ) {
$key = htmlspecialchars( $key, ENT_QUOTES, 'UTF-8' );
$_input[ $key ] = _h( $val );
} else {
$key = htmlspecialchars( $key, ENT_QUOTES, 'UTF-8' );
$_input[ $key ] = htmlspecialchars( $val,

PHPの正規表現のuフラグっていつ使うの?

PHPの`preg_*`系関数で使う正規表現は、区切り文字の後ろにいろいろなフラグを付けることができます。
その中で私が用途をすぐ理解できなかった`u`フラグについて書きます。

## tl;dr
- `u`フラグなしだと、マルチバイト文字のマッチが思った通りにできない可能性がある
- `u`フラグによって`\d`や`\w`の挙動が変わる

注:以降の記述では、扱う文字列はすべてUTF-8であることを前提とします。

## preg正規表現の`u`フラグ
なにはともあれ公式マニュアルを確認します。

> u (PCRE_UTF8)
この修正子は、Perl 非互換な PCRE の機能を有効にします。パターンと対象文字列は、 UTF-8 として処理されます。 無効な対象文字列を preg_* 関数に渡しても、何もマッチしません。 無効なパターンを渡すと、E_WARNING レベルのエラーが発生します。 5オクテットおよび6オクテットの UTF-8 シーケンスは無効とみなされます。

https://www.php.net/manual/ja/reference.pcre.pattern.m