PHP関連のことを調べてみた

PHP関連のことを調べてみた

【PHP】そういうことか!オブジェクト指向!

## まず初めに
まだオブジェクト指向を学習し始めて一週間の僕が備忘録的に残すものなので、何か間違いがありましたら優しく教えていただけますと幸いです:pray_tone1:

## 現段階でのオブジェクト指向の理解
ヒト(赤ちゃん)→ウンチする
![baby_role_towel_utsubuse.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638476/ee721458-9fdc-24e1-7b40-9ea3aefbcc9e.png)

ヒト(女性)→ウンチする
![otaku_girl_fashion_penlight.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638476/1fe3e7f8-e653-6c12-68ad-ed14a32c60d5.png)

ヒト(おじいさん)→ウンチする
![magonote_ojiisan.png](https://qiita-image-store.s3.ap-nor

元記事を表示

「独学エンジニア」レッスン1

# レッスン1
今回はレッスン1にて学習したことになります。
## 学習するにあたって目指すゴール
このサービスでの目指すべきゴールは「エンジニアとして自走できるレベルで就職する」ことです。
僕はありがいことに既に就職しており、現場にも参加させていただいているので今回は「エンジニアとして自走しスキルアップすること」をゴールにします。
### そもそも自走するとは
 ①自己学習を継続できる
 ②課題に対して自分なりに調査し解決できる
 ③障害や問題が発生した際に最低限の対応ができる
これら3つのことが自走できるの定義らしいです。

このコラムの中で、一番共感したのは「プログラミングの文法を学んだもののそれをどのように使用していくか」のスキルがないということです。これを聞いてものすごく頷きました。
自社研修や就職前のプログラミング学習でも写経や文法の勉強ばかりでそれをどのように使っていくのかを全く学ぶことができませんでした。その為、参画しても自分にはなにもできないという現実が待っていました。

## 受講後になっていたい姿
このコラムでは目標を具体的に書き出すこ

元記事を表示

「独学エンジニア」での学習を始めました

# 自己紹介
初投稿ということで、まず初めに僕の超絶簡単な紹介をさせていただきます。
・某市私立大学の文系卒
・23歳(2024年2月時点) 男
・趣味と言えるほどの趣味はなく、休日は街ブラ/古着屋・リサイクルショップ巡りをしておりドラマバラエティ音楽は平成以前に作られたものが好きです。

# 経緯
さて本題。
今回山浦清透さんの「独学エンジニア」で学習を始めようと思った経緯ですが、
僕は2023年4月に新卒未経験でSierの企業に就職し、そこで2か月半ほど自社研修を受け、とあるWEBサービス開発の現場に参加させていただいています。

 この業界は毎日学習をしてスキルを身に着けていかなければ生き抜いていけないと知っていながらも現場に参加後は何かと理由を付けたりサボってしまい自己学習はほとんど0に近いものでした。
そんなこんなで特に技術力が上がるわけでも無くヒューマンスキルが身につくわけでも無くあっという間に1年が経ち、自社の査定面談(この面談で来季の給与が決まる)で何もアピールすることができず撃沈しました。
 さすがにこのままでは自分がクソ人間になってしまうと思い何か学習に取り掛かろ

元記事を表示

【PHP/MySQL】クッキーをWebサイトに食べさせる。

前回の記事で、SQLを組み込んだホームページを全世界に公開しましt。
そのあと、まだ試しておく事が沢山ありますので、順次対応します。
本日はクッキーの設定です。
前回の記事のソースを修正していきます。

https://qiita.com/ishikawaryou/items/938e14ad5cd7c4c2dfd5

# 1.イメージ

taiju.php、writetaiju.phpの2つのソースを修正します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402487/09898f9d-b0e3-787f-a9e7-13409a55aa11.png)

# 2.実装

「クッキーを読み込んでフォームの名前を設定する from」「クッキーを読み込んでフォームの名前を設定する to」のコメントでくくられた所が修正対象です。

# (1).書き込み処理

“`writetaiju.php

元記事を表示

自作ライブラリ作成の初心者がGitHubとComposerでソースをパッケージ化する

## はじめに

自作していたライブラリを

**”GitHubとComposerを使ってダウンロードできるようにしておけばカッコいいし便利そう”**

と思って

**”Composerって依存関係をJSONで書いておけば簡単にダウンロードできるんだったよねー”**

ってくらいの気持ちでComposerの初心者がやろうとした結果かなりハマってしまったので(色んな意味で)メモを残しておきます。
また、ハマりポイント(自分の場合ですが)を補足として入れておいたので参考になればと思います。

以下では **”ライブラリ公開側の設定”** と **”ライブラリ利用側の設定”** に分けて話を進めます。

:::note info
本記事ではPackagistへの登録なしでできる方法をご紹介しています。
:::

## 環境

プラットフォーム
Windows10
Composer
v2.6.5
Git
v2.31.1
元記事を表示

PHPを(動的に)20倍遅くする方法

## はじめに

運用環境で処理に遅延が発生した際、開発環境では再現が難しい場合があります。

そんなときに便利な、PHPやMySQL(MariaDB)をお手軽に遅くする方法です。

(Linux上で動作しているPHPを前提として書いてます)

## CPUクォータ を設定して遅くする

### PHP

下記コマンドでCPUの割り当てを「5%」に変更します。
(約1/20程度の速度になる)

“`bash
# mpm_prefork の場合
$ sudo systemctl set-property –runtime httpd.service CPUQuota=5%

# PHP-FPM 利用時
$ sudo systemctl set-property –runtime php-fpm.service CPUQuota=5%
“`

* `–runtime`を指定しない場合は、設定が永続化されます
(`–runtime`を付けた場合は、OSの再起動で設定がリセットされます)

### MySQL(MariaDB)

“`bash
# MariaDB の場合
$

元記事を表示

初めてOSSにコントリビュートしました

# はじめに
私はエンジニア3年目ですが、新卒でエンジニアになったときからいつかはOSSにコントリビュートしてみたいという目標がありました。

そしてついに、普段お世話になっているリポジトリや機能に対してコントリビュートできたので、その背景をまとめたいと思います。

# コントリビュートの内容
マージされたPRは、以下です。

https://github.com/composer/composer/pull/11816

リポジトリは、[Composer](https://getcomposer.org/)です。
PHPを使っている方ならお馴染みの、パッケージ管理ツールです。

モダンなPHP開発では、ほぼ必ず用いられるツールです。
筆者も業務でPHPとLaravelを使って開発をしていますが、毎日当たり前のようにComposerを使っています。

コントリビュートの内容は、テストコードの追加です。
self-updateコマンドという、Composer自身のバージョン管理を行えるコマンドがあるのですが、そのコマンドのテストケースをなにもない状態から作成しました。

カバレッジは、4

元記事を表示

Dockerで環境構築(php-fpm+nginx)

# はじめに
初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事をかきました!
最終的には自在に開発できるようになりたいと思っています。:triumph:
いろいろな記事を参考にさせてもらっています。:bow_tone2:
その中でもこれってどういう意味?とかつまづいたところを念入りに書いていこうかと思います。:fist:

# 今回の目的
今回はこちらの記事で調べていた内容を実践してみたいと思い別の記事として作成しました!

https://qiita.com/mr_noppo/items/abe96bd0b7200c0cbc6e

「php:\-apache」は初歩のチュートリアルで使っていたような気がするけど、「php:\-fpm」というものは何ぞや、実際に動かせばなんかスッキリするかも?となったのが経緯です!

# 作成した環境

https://github.com/takizawa0548/sample-nginx-fpm

## 使用

元記事を表示

WSLのUbuntuにプログラミング言語の管理ツールasdfを導入する

# はじめに

WSLのUbuntuにプログラミング言語をインストールする際、通常はaptなどの標準パッケージ管理ツールを利用すると思います。aptでインストールする場合、例えばプログラミング言語ごとにバージョンを切り替える手順が違ったりと面倒なのですが、asdfを使用すると、asdfが提供する統一されたコマンドインターフェースで言語のバージョンの切り替えが行えたりします。

本記事では、asdfのインストール手順、asdfによる言語のインストール手順、言語バージョンの切り替え方法をご紹介します。

asdfについては、以下のページをご参照ください。

https://asdf-vm.com/

本記事の前提環境としては、以下の記事をご参照ください。
「WSL+Ubuntu+Docker+VSCode+Githubの構築手順」
https://qiita.com/perilla/items/ef73cf57ade24bc94f19

# asdfインストール

asdfの導入手順につきましては、以下のページを参照ください。

https://asdf-vm.com/guide/gett

元記事を表示

【未経験 / 独学】ポートフォリオ『チャレコ』を開発しました【Laravel / Vue.js / Docker / AWS】

# はじめに
こんにちは!りあるぱ([@realpa931](https://twitter.com/realpa931))と申します。

私がWebエンジニアへの転職過程で作成したポートフォリオを紹介します。

### 自己紹介
大学卒業後、新卒でメーカーに入社。技術職として機械部品の設計や評価に従事。
退職を機に、プログラミング学習を開始(2022年11月〜)。
2024年3月からWeb系企業(自社/受託/SES)で受託開発に従事予定。

# 目次
[1. ポートフォリオの紹介](#1-ポートフォリオの紹介)
[2. 選定技術の採用理由](#2-選定技術の採用理由)
[3. ポートフォリオ作成までに学習したこと](#3-ポートフォリオ作成までに学習したこと)
[4. ポートフォリオ作成の進め方](#4-ポートフォリオ作成の進め方)

# 1. ポートフォリオの紹介
### チャレンジャーが集うポジティブSNS『チャレコ』

![chalreco.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113

元記事を表示

【PHP】307リダイレクトをよく理解してなかった話

# はじめに

PHPでリダイレクトをしなくてはいけない時があったのですが、その際に少しはまってしまったのでその話を書きたいと思います。

メソッドとパラメータを変えずにそのまま次の画面に渡す、ということをしようとしていました。

# 勘違いしていたこと

PHPにはheader関数があり、それを使用して
“`php
header(“Location: {リダイレクト先のURL}”, true, 307);
“`
というような感じで実装していました。

307リダイレクトは、

>メソッドと本文は変更しません。
(https://developer.mozilla.org/ja/docs/Web/HTTP/Redirections より引用)

というように記載してあったのでてっきりPOSTでもGETでもきたパラメータはすべて渡してくれるのかと思っていました。

# 実際に挙動を見てみる
`index.html`

⇓ GET POST

`index1.php`

⇓ 307リダイレクト

`index2.php`

というような感じでリダイレクトさせ、`index2.php`で

元記事を表示

Laravel Sailでサクッと環境構築!

今回は、Laravel Sailを使った環境構築を共有です。

以前にLaravelの環境構築について調べていた際に、発見した方法です!

docker-compose.yml書く手間を省き、手早く開発を始めたい方におすすめです!

Sailを使用するメリットは、開発に必要な環境を簡単に用意することができる点です。内部的にDocker Composeを利用し、Dockerの利用環境があれば簡単に開発環境を用意できます。

例えば、MySQLやComposer、Node.jsなどを、PCに個別にインストールする必要はありません。

その他、開発に便利なツールなどはSailで選択することができます。

まず、下記コマンドでLaravel Sailをインストールします。「laravel-app」という名前のディレクトリに新しいLaravelアプリケーションが作成されます。
“`
curl -s “https://laravel.build/laravel-app” | bash
“`
※ Laravel Sailは新しいLaravelアプリケーションとともに自動的にインストールされます。

元記事を表示

Dockerイメージのタグ構成(PHP&PostgreSQL)

# はじめに
初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事をかきました!
最終的には自在に開発できるようになりたいと思っています。:triumph:
いろいろな記事を参考にさせてもらっています。:bow_tone2:
その中でもこれってどういう意味?とかつまづいたところを念入りに書いていこうかと思います。:fist:

# 今回の目的
Dockerのイメージを選ぶときに、「これどう意味なの?何を基準に判断すればいいの?」となりました。使う範囲でいいから一通りの内容やルールを理解してから使いたいですよね。:thinking:
対象範囲はPHPとPostgreSQLに絞りました。長くなったので記事は二つに分けています!

今回は前回の続きになります!

https://qiita.com/mr_noppo/items/79e0dbcfaebea8c8192b

## 使用したものや事前準備
・Docker Hub
・PHP
・PostgreSQL

## 主に参考にさせていただ

元記事を表示

PHPとは

## PHPとは
PHPは意識してみると至る所で使用されています。
PHPはユーザーが入力した情報を取得し保管をすることもできます。
その機能を使用すれば分かりやすい所でいうと、webサイトやアプリの登録やログインのシステム作成が可能です。
また他にも、様々な会員情報を自動入力する機能を実装することでユーザーの負担を減らすことも可能です。

### PHPを書いてみよう
PHPで画面出力するには echo が必要です。
“`php:php

“`
この記述により画面上では、Hello world が出力されます。

またPHPはHTMLに記述も可能です。
“`php:HTML





【Docker】Laravelの環境を作成してDockerを理解する

# はじめに

エンジニアのkeitaMaxです。

今までDockerに触れたことがなかったのですが、思い立ってDockerについて0から学習をしています。

まず最初にいつも使用しているフレームワークのLaravel の動作環境を作りたいと思っています。

PHPのコンテナ、Nginxのコンテナ、MySQLのコンテナの3つを作成します。

# 参考にする記事

https://qiita.com/hinako_n/items/f15646ea548bcdc8ac6c

この記事をもとに作成していきたいと思います。

# PHPのコンテナを起動する

まず作業用のフォルダを作成します。名前は`docker-laravel-app`にしました。

つぎに、Dockerの設定をしていきます。

`docker-laravel-app`フォルダ直下に`docker-compose.yml`ファイルを置きます。

そして`docker`フォルダを用意し、その中に`app`フォルダ、その中に`Dockerfile`ファイルと`php.ini`ファイルを置きます。

現在のフォルダ構成は以下

元記事を表示

Laravel入門 ~MVCについて~

# MVCとは
Laravelでアプリケーション開発をする際、MVCモデルという設計でアプリケーションの作成が行われます。MVCとは、プログラムをModel(モデル)、View(ビュー)、Controller(コントローラー)の3つに分けることで、プログラムをわかりやすくする手法です。

# Model(モデル)
システム内部のビジネスロジックを担当する。
データベースとのやり取りや、データの処理が含まれる。

https://readouble.com/laravel/10.x/ja/eloquent.html

Modelファイルをコマンドで作成すると、デフォルトで下記のように作成される。
“`php:Player.php

元記事を表示

Laravel 11のHTTPクライアント【Guzzle】

https://github.com/laravel/framework/pull/49784

もうGuzzleをインストールする必要はありません!ララベルをインストールするだけです!!

# Laravel 11のインストール
Laravel 11はPHP8.2以上が必要です
“`bash
composer create-project –prefer-dist laravel/laravel hello-world dev-master
cd hello-world
“`

# GETリクエスト

“`php
$ php artisan tinker
Psy Shell v0.12.0 (PHP 8.2.13 — cli) by Justin Hileman
> $response = \Illuminate\Support\Facades\Http::get(‘https://httpbin.org/get’)
= Illuminate\Http\Client\Response {#5063
+cookies: GuzzleHttp\Cookie\CookieJ

元記事を表示

Laravel 11でコマンドラインアプリケーションを作成【コンソールアプリ】

# Laravel 11のインストール
Laravel 11はPHP8.2以上が必要です
“`bash
composer create-project –prefer-dist laravel/laravel hello-world dev-master
cd hello-world
“`

# コマンドラインアプリケーションを作成

“`php:routes/console.php
comment(Inspiring::quote());
})->purpose(‘Display an inspiring quote’)->hourly();
“`

`$this->comment();`でコンソールに色を付けてくれます。`->hourly();`で毎時に実行されます!

# 実行

“`bash
$

元記事を表示

CentOS7 色々インストールしてみた!😎

VPSインストール関連で戸惑ったところをまとめてみました!
みなさんの参考になれば、と思います。

#MySQL
実際にMariaDBが入っていると、MySQLがインストールできないのでMariaDBが入っているか確認しましょう!

“`
# rpm -qa | grep maria
# mariadb-libs-5.5.50-1.el7_2.x86_64 //こんなふうに表示されればMariaDB入ってます。

//エラーの対応->MariaDBを削除し、MySQLをインストール。
# sudo yum remove mariadb-libs
# sudo rm -rf /var/lib/mysql/
# sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# sudo yum -y install mysql-community-server
//最後にバージョンを表示するコマンドでバージョンが表示されればインストール成功!
# mysql –v

元記事を表示

Laravel 11でconfig/*.phpがなくなるってよ🗑️

https://laravel.com/docs/master/releases#health:~:text=Configuration%20Files

Laravel 11で`config/*.php`がなくなります!
不要なconfigをバージョン管理しなくなることで認知負荷が下がり生産性が上がります!
Laravelのバージョンアップ時に考慮することが減ります!

# Laravel 11のインストール
Laravel 11はPHP8.2以上が必要です
“`bash
composer create-project –prefer-dist laravel/laravel hello-world dev-master
cd hello-world
php artisan serve
“`

# 基本的には環境変数使ってconfig/*.phpは作らないようにしよう!

`.env`ファイルに環境変数を設定しよう!Laravel 10以前の `config/*.php` は、https://github.com/laravel/framework/tree/master/co

元記事を表示

OTHERカテゴリの最新記事