PHP関連のことを調べてみた2022年12月15日

PHP関連のことを調べてみた2022年12月15日

php オブジェクトで使われる用語

①クラス
“`
class Post
{
private $text //プロパティ

public funtction show() //メソッド
{
printf($this->text);
}
}

$posts = new Post(‘hello’); //インスタンス
“`

・クラスの中で宣言した変数「プロパティ」
・クラスの中で定義した関数「メソッド」
・クラスからnewして作った値「インスタンス」

クラス内で変数にアクセスするには $this->変数名 とする

②コンストラクタ
“`
class Post
{
private $text //プロパティ

public function __construct($text) //コンストラクタ
{
$this->text = $text;
}
public funtction show() //メソッド
{
printf($this->text);
}
}

$posts = new Post(‘hello’); //インスタンス
“`

・コンストラクタはnew

元記事を表示

郵便番号データのつくりかた(PHP版)

[OPENLOGI AdventCalendar](https://qiita.com/advent-calendar/2022/openlogi) 15日目担当の細川です。

だいぶ前に[同一タイトルの記事](https://qiita.com/yhosok/items/bb7fa9ff0254d20ad279)を書きましたが、様々ありましてPHP版を作る必要に迫られました。

ということで前回Haskellで実装したものをこの機会にPHPに翻訳しました。ただ、今回は作成データが使い物になるよう精度を上げる必要がありまして、以下に述べますように色々と工夫というか、ゴリ押しで頑張ってみました。ツッコミどころが色々ありますのでご意見いただけると嬉しいです。(正しい住所データが即座にダウンロードできる時代が来ますように)

作成したソースは[こちら](https://github.com/yhosok/laravel-ken-all)にあります。諸事情でlaravel上に実装してますが、書いてるソースは主に下記のファイルになります。
– [app/Models/Postcode.php](

元記事を表示

データをチェック、”Validator”

[Symfony Component Advent Calendar 2022](https://qiita.com/advent-calendar/2022/symfony-component)の15日目の記事です。

## 最初に
[Symfony](https://symfony.com)はPHPのフレームワークのひとつです。しかし、公式サイトの説明文には

> Symfony is a set of PHP Components, a Web Application framework, a Philosophy, and a Community — all working together in harmony.
(SymfonyはPHPコンポーネントのセットで、Webアプリケーションフレームワークで、哲学、そしてコミュニティです。それらがハーモニーを奏でながら動作しています。)

と書かれている通り、PHPコンポーネントのセットで、たくさんのコンポーネントを提供しており、それらを組み合わせてひとつのフレームワークとして動作しています。Symfonyのコンポーネントは、S

元記事を表示

DoctrineとEloquent比較大全15: バッチ削除

day15の今日は複数データ(大量データ)をまとめて削除する方法を見ていきます。

## Doctrine

“`php
getRepository(Book::class)->findAll() as $book) {
$entityManager->remove($book);
}
$ent

元記事を表示

DoctrineとEloquent比較大全14: バッチ更新

day14の今日は、複数のデータを一気に更新するバッチ更新のやり方を見ていきます。

## Doctrine

“`php
setTitle(sprintf(‘title%d’, $i));
$book->set

元記事を表示

【artisan】shell_exec実行時のユーザーCPU時間【Laravel】timeコマンドのuser

shell_execでも同様の結果となる

“`bash
composer create-project laravel/laravel example-app
cd example-app

./artisan make:command shell_exec
./artisan command:name

wget https://gist.githubusercontent.com/hellowork-mhlw/03344d342fffa767e6a6ffd7b89a93ed/raw/cnt.c
gcc cnt.c

# 下記からコードをコピペ
# https://qiita.com/foluyucic/items/158f1759a372fed6a1ff

$ time ./artisan command:name sleep 3

real 0m3.114s
user 0m0.086s
sys 0m0.030s

$ time ./artisan command:name ./a.out
500000000500000000

real 0m1.

元記事を表示

artisan commandで可変長引数【Laravel】Rest variable length arguments

`$signature = ‘command:name {your_command?*}’` のように`?*`を追加するだけ カンタン

“`php:app/Console/Commands/shell_exec.php

元記事を表示

特定のディレクトリの画像を一覧表示する WordPress プラグイン

# 特定のディレクトリにある画像ファイルを取得して一覧表示するプラグインを作ってみた
WordPress のフォーラムで FTP でアップロードされた画像をページに一覧表示したいという質問の投稿があった。
[サーバーにアップされた画像を一覧表示&自動更新](https://ja.wordpress.org/support/topic/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%ab%e3%82%a2%e3%83%83%e3%83%97%e3%81%95%e3%82%8c%e3%81%9f%e7%94%bb%e5%83%8f%e3%82%92%e4%b8%80%e8%a6%a7%e8%a1%a8%e7%a4%ba%ef%bc%86%e8%87%aa%e5%8b%95%e6%9b%b4/)

普通に考えると WordPress のメディアからアップロードされた画像であれば DB にデータが存在しているため、 WordPress の関数を駆使すれば一覧ページを作るのはそれほど難しくはなさそうだが、 FTP で画像はアップロードしているとのことなので直

元記事を表示

通常のCAPTCHAを突破する方法

1. CAPTCHA画像をダウンロードします。

2. 画像を [API](/api-docs#solving_normal_captcha) に送信します。

## SDKを使用する場合 (推奨):

PHP

“`php
// https://github.com/2captchacom/2captcha-php

require(__DIR__ . ‘/../src/autoloader.php’);

$solver = new \TwoCaptcha\TwoCaptcha(‘YOUR_API_KEY’);

try {
$result = $solver->normal(‘path/to/captcha.jpg’);
} catch (\Exception $e) {
die($e->getMessage());
}

die(‘Captcha solved: ‘ . $result->code);
“`

元記事を表示

Google Mapに多角形を描き、人口データの属性を持つ町丁目ポリゴンを取得し、表示する

## はじめに
今回は、Google Mapにフリーハンドの多角形を描きサーバーと連携、多角形内の町丁目ポリゴンを取得・表示し、町丁目ポリゴンが持つ人口データを出力してみました。
この記事は、下記のGoogle Mapや町丁目ポリゴンをテーマとした記事の**第3弾**になります。合わせて読んでいただけると理解しやすいかと思います。是非こちらもご覧下さい。

– [Maps JavaScript APIを使ってGoogle Mapに町丁目ポリゴンを表示してみる](https://qiita.com/yan_x/items/c069c8fb7c5d2648fe50)
– [地図(Google Map)の任意地点に円を描き、人口データの属性を持つ町丁目ポリゴンを取得し、表示する](https://qiita.com/yan_x/items/0cf06675739ddcfa3576)

## 使用したもの
– Google Map
– Maps JavaScript API

https://developers.google.com/maps/documentation/javascript

元記事を表示

PHPを任意ユーザー(webapp)で動かす

任意ユーザー(ここではwebappというユーザー)を追加して、そのユーザーでphpを動かす方法について記載します。
環境は AmazonLinux2 で、nginx、php-fpm はインストール済とします。
# 1. webappユーザーの追加の前準備
デフォルトだと webappユーザーを追加する際、ホームディレクトの “/home/webapp“ の権限が “700“で作成されてしまいます。
これだと他のユーザーが“/home/webapp“ディレクトリに入れないので、権限を“755“とする為、“login.defs“ の “UMASK“の設定を変更します。
“`
$ sudo vi /etc/login.defs
“`
“`
# 略
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 022 <=====この行を077 から 0

元記事を表示

KeyCaptchaの突破方法

1. ページのソースコードで次のKeyCaptchaパラメータを見つけます。
“`
s_s_c_user_id
s_s_c_session_id
s_s_c_web_server_sign
s_s_c_web_server_sign2
“`

2. これらのパラメータを[API](/api-docs#solving_keycaptcha)に送信します。
## SDKを使用する場合 (推奨):

PHP

“`php
// https://github.com/2captchacom/2captcha-php

require(__DIR__ . ‘/../src/autoloader.php’);

$solver = new \TwoCaptcha\TwoCaptcha(‘YOUR_API_KEY’);

try {
$result = $solver->keycaptcha([
‘s_

元記事を表示

php 初心者参考サイト

# 参考サイト

【PHP入門】公式ドキュメントを読もう

https://www.php.net/manual/ja/index.php

https://www.javadrive.jp/php/

https://webkaru.net/php/

http://www.standpower.com/

# 動画サイト

元記事を表示

ページネーションのサンプル(PHP)

ページネーションのサンプルプログラム(PHP)を実装しました。

“`PHP






TEST18


‘秋元真夏’, ‘age’ => ’29’),
array(‘name’ => ‘小川彩’, ‘age’ => ’15’),
array(‘name’ => ‘小坂菜緒’, ‘age’ => ’20’),

元記事を表示

独学にてポートフォリオ(Webアプリ)を作成しました【Laravel / Docker / AWS / Web API】

# はじめに
webエンジニアへの転職を目標に独学を開始し、約半年が経過しました。その時点で出来上がったポートフォリオについて紹介する記事です。本アプリを作成した経緯や実装する上で意識したこと、苦労した点も記載しておりますので、同じくwebエンジニアを目指されている方の参考になれば嬉しく思います。

# 投稿者
– webエンジニアを目指す27歳の会社員(医薬品系)
– プログラミングとの出会いは社会人になってからで、それまでプログラムの実装経験なし
– 2022年6月から本格的にプログラミング学習開始

# アプリの概要
![top.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517863/e7206bcc-ccac-3031-c956-c4b599ef9b46.png)

– ひとことで表現すると **『 読書での学びを行動に繋げる読書メモアプリ 』**
– サービス名は **『 3PointsBook 』** 
( GitHub:https://github.com/masa0307/3po

元記事を表示

symfony/slack-notifier使ってみた

[Symfony Advent Calendar 2022](https://qiita.com/advent-calendar/2022/symfony) 14日目の記事です✨

`symfony/slack-notifier`を使ってみたよーって記事です。

## `symfony/slack-notifier`はどんなもの?

https://github.com/symfony/slack-notifier

まず、`symfony/notifier`という通知するためのコンポーネントがもあります。
このコンポーネントは、

– SMS Channel
– Chat Channel ?Slackはココ
– Email Channel
– Browser Channel
– Push Channel

をサポートしており、Slackなどは`Chat Channel`に該当します。
これらは[Chatterクラス](https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/Notifier

元記事を表示

PHPで文字エンコーディングがWindows-31JのJSONを作る

これは [エキサイトアドベントカレンダー2022](https://qiita.com/advent-calendar/2022/excite-hd) の記事です

# 前提
通常、JSONの文字エンコーディングにはUTF-8を使用することになっています。
またphpでは`json_encode()`を使うと、デフォルトでは日本語のような文字列は`\u65e5`のようにUnicodeの16進数表現にエスケープされます。

だがしかし、文字エンコーディングが`Windows-31J`のJSONをphpで作りたい。という時の記事です。

## Windows-31J とは?
`Shift-JIS`のWindows用の拡張の一種のようです。`MS932`とか呼ばれることもあるようです。
`Windows-31J` というのは割とJava界隈での呼び方?(筆者の私見です)のようで、phpでいうと`SJIS-win`です。

# やり方

日本語部分をUnicodeエスケープされないようにしたうえで、`mb_convert_encoding()`で変換してやりました。

“`php:エンコード

元記事を表示

とても参考になった記事まとめ

業務のいろんな場面で参考になった、現在進行形で活用している記事をまとめました。
投稿者の皆様には改めてお礼申し上げます。
# コマンド

コマンド覚えられないので何度でも見返します。

https://qiita.com/keisukee/items/a07743279ae86effe1ca
# PostgreSQL
カラムが多いテーブルをselectした際の表示のあまりの見辛さに悩んでいたので、\x に救われました。

https://qiita.com/kiyodori/items/b9b34c7abe7e45f65c46

特定のテーブルをdumpする方法。

https://qiita.com/y_u_i_c_h_i/items/c3a0a981d01c790133ac
# Laravel

修正が反映されない…何かおかしいと思ったらとりあえずキャッシュを疑ってみる。

https://qiita.com/Ping/items/10ada8d069e13d729701
# その他
Carbonを使う機会が多いので、めちゃくちゃ助けられてます。

https://blog.cap

元記事を表示

Webアプリケーションをセキュアに、”Security Bundle”

[Symfony Component Advent Calendar 2022](https://qiita.com/advent-calendar/2022/symfony-component)の14日目の記事です。

## 最初に
[Symfony](https://symfony.com)はPHPのフレームワークのひとつです。しかし、公式サイトの説明文には

> Symfony is a set of PHP Components, a Web Application framework, a Philosophy, and a Community — all working together in harmony.
(SymfonyはPHPコンポーネントのセットで、Webアプリケーションフレームワークで、哲学、そしてコミュニティです。それらがハーモニーを奏でながら動作しています。)

と書かれている通り、PHPコンポーネントのセットで、たくさんのコンポーネントを提供しており、それらを組み合わせてひとつのフレームワークとして動作しています。Symfonyのコンポーネントは、S

元記事を表示

プライベートと仕事のGoogleカレンダーを同期して予定枠を抑えてブロックする

プライベートの予定は個人アカウントのGoogleカレンダーには登録しておいたんだけど、
会社のカレンダーに登録していなくて、空いていると思われミーティング設定されてしまいました。
こういうのは後で調整し直さないといけなくて面倒です。

ゲストに会社のアドレスを追加しておけば良いのですが、面倒なのと、プライベート→会社への共有はできても逆は無理です。
また家族用とか常駐先とか副業先とかもっとカレンダーが多くなってしまっている人も多いでしょう。

そういったカレンダーの予定を取得し、それぞれのカレンダーに予定枠を作り、予定を入れられてしまうのをブロックしてもらうシステムを作ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7132/d19a55c1-b7b5-615a-0bdf-ddbd946b95c7.png)

今回は会社側のアカウント設定など自由の利かない部分もあるので、OAuthを使ったウェブアプリ(サーバーの用意が面倒なのでPHP)にしました。

## Google Ca

元記事を表示

OTHERカテゴリの最新記事