PHP関連のことを調べてみた2020年08月20日

PHP関連のことを調べてみた2020年08月20日

PHPでDBに接続、CRUDを利用して掲示板を作る② Readについて

前回(https://qiita.com/progterry/items/2f82b82a5118c16010a0)はPHPでDBに接続、CRUDのCreateの機能を実装するところまでお話をしました。
今回はRead機能について書いていこうと思います。

#そもそもReadとは?
Readとは、掲示板の機能で必須とされるCRUDの中の1つです。
CRUDはそれぞれ、
Create
Read
Update
Delete
の頭文字を取っています。それぞれの単語の具体的な機能に関しては前回の記事を参照。

#実際のコード
“`
“;
} catch(PDOException $e){
echo “失敗:” . $e->getMe

元記事を表示

PHPの定数について

# 定数とは
宣言時に決めた値を再定義できない

## PHPで定数を定義する方法2つ
### `define()`で定数を定義する

“`php
define(‘定数名’, ‘値’);
“`
 PHP7〜 配列定数を定義できるようになった。

“`php
// 定数をクラス外に定義
define(‘CONSTANT’, [‘key1’ => ‘hoge’, ‘key2’ => ‘fuga’]);
class Sample
{
function printConst()
{
// クラス内から定数にアクセスする場合
print_r(CONSTANT);
}
}
$sample = new Sample();
$sample->printConst(); // CONSTANTが出力される
// クラス外から定数にアクセスする場合(同じ)
print_r(CONSTANT); // CONSTANTが出力される
“`

### constで定数を定義す

元記事を表示

amazonlinux2のhttpd + php7.4で「Uncaught Error: Call to undefined function simplexml_load_string」が出た場合の対処法

# エラー

amazonlinux2で動くwordpressにあるテーマをインストールしたら以下のエラーに遭遇。

“`
Uncaught Error: Call to undefined function simplexml_load_string
“`

ググった結果、どうやらSimpleXMLモジュールが入っていないとのこと。

# 動作環境

“`sh
$ php -v
PHP 7.4.7 (cli) (built: Jul 2 2020 23:17:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

$ amazon-linux-extras | grep enabled
24 epel=latest enabled [ =7.11 =stable ]
42 php7.4=latest enabled [ =stable ]

$ yum list inst

元記事を表示

【Xdebug】VSCODE+PHP Laravel+Windows+Xamppでデバッグ実行

# 環境
Windows10 x64
VisualStudio Code 1.47.3
Xampp v3.2.4 (PHP 7.4.7)
VSCODEプラグイン PHP Debug v1.13.0(本記事でインストール~設定します)

# Xdebugインストールと設定
#### ①VSCODEでPHP Debugをインストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535228/a2e6f08c-724a-9bc2-ce07-a1ba3598d2e0.png)

#### ②php.iniに下記を追記
※ C:\xampp\php\ext\php_xdebug.dllが存在しているか確認してください

“`ini:C:\xampp\php.ini
zend_extension = “C:\xampp\php\ext\php_xdebug.dll”
[XDebug]
xdebug.remote_autostart = 1
xdebug.profiler_append =

元記事を表示

Laravel Eloquent の主キー(ID)を UUID に変更する

## UUID とは

Universally Unique Identifierの略。
重複する可能性を無視できるほど小さく、一意な識別子として扱えるIDです。

生成方法によりバージョン1からバージョン5までの種類があり、今回使用するのはバージョン4になります。

## UUID のメリット

– IDにID以外の意味を持たせないため
– 複数のデータベースで分散してデータを持つ場合に有用
– データを移行の際にもプライマリーキーの重複を避けられる
– URLからIDの予測が付きにくい

## 利用するパッケージ

– https://github.com/goldspecdigital/laravel-eloquent-uuid

今回はこちらのパッケージを利用してUUIDを使えるようにします。

## 環境

– PHP: 7.4.6
– Laravel: 7.25.0
– goldspecdigital/laravel-eloquent-uuid: 7.0.0

## 導入手順

“`shell-session
$ composer require goldspecdigi

元記事を表示

docker-composeのwordpressでのアップロードサイズを変更

#docker-compose.ymlの変更
反映されず・・・
ここの原因を探る時間が惜しいので、直接コンテナに入ってuploads.iniを変更した。
そのメモ。

##コンテナに入る
コンテナリストを表示する。
“` $ docker ps “`

“`
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
000000000000 wordpress:latest “docker-entrypoint.s…” 2 minutes ago Up 2 minutes 0.0.0.0:8081->80/tcp wordpress_1
000000000000 mysql:5.6 “docker-entrypoint.s…” 2 minutes ago Up 2 min

元記事を表示

Laravel6.0以降でjQueryを使用する方法

LaravelでjQueryを使用する時にどこから読み込むのが良いか調べました。

### laravel/uiをインストール

“`
$ composer require laravel/ui
“`

`laravel/ui`パッケージを追加するとbootstrap.jsでjqueryが読みこまれるようになる。

“`bootstrap.js
/**
* We’ll load jQuery and the Bootstrap jQuery plugin which provides support
* for JavaScript based Bootstrap features such as modals and tabs. This
* code may be modified to fit the specific needs of your application.
*/

try {
window.Popper = require(‘popper.js’).default;
window.$ = window.jQuery = require

元記事を表示

カスタム投稿タイプで年度別アーカイブを表示する

#まえがき
Wordpressの通常の投稿で年度別アーカイブを作る方法や、カスタム投稿で年別アーカイブを作方法はいくつか参考サイトがあったものの、カスタム投稿で__年度別__アーカイブを作る方法があまり載っておらず苦戦しました。

WordPress初心者且つPHPにもあまり詳しくないため正しいかどうかはわかりませんが、一先ず下記の方法で動作させるところまでは至ったので、備忘録も兼ねて共有します。

#1. カスタム投稿タイプを作成
「[Custom Post Type UI](https://ja.wordpress.org/plugins/custom-post-type-ui/)」プラグインを使ってカスタム投稿を作成します。
プラグインの導入方法や詳しい設定方法は割愛しますが、
一点だけ注意しておきたいのが、この時に__アーカイブあり__の設定を`True`にしておくこと。
![スクリーンショット 2020-08-19 13.18.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64467

元記事を表示

雑なページネーションを作りましたよ。

前の会社のコードが雑なのは私の責任では有りません。
元々、雑なコードでした。
今回、雑なページネーションを作った経緯は自分で使用するために作ったものを
お裾分けとして公開です。因みにコピペしてご自由直して頂いければと思います。

動作環境PHP7.3です?
動作させた動画がこちら。
尚、データは私のところに来た質問箱のデータですw。
![2020-08-20_07-35-24.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66081/b0f1504e-3c30-eba8-217e-f681aa002d47.gif)

“`php:index.php
count_number();
$db->pagination();
$html1 = $db->html($db->select_set());
$html2 = $db->count_display();
$db->col

元記事を表示

【Laravel6.x以降対応】既存のDBからマイグレーションファイルを作成する方法

既存のテーブルをLaravelで使用するときに、いちいち手書きでマイグレーションファイルを書くのは大変なので自動で生成したい。
migrations-generatorで出来るらしい。

### しかしLaravel6.x以降には対応していない
Laravelで既存のDBからmigrationsファイルを作成する「migrations-generator」
https://qiita.com/busyoumono99/items/a7173ad6b9b041da09dd

### 6.x以降ではoscarafdev/migrations-generatorのリポジトリを使用する

>そして、そのステップ1として、前回の既存のDBからmigrationファイルを自動作成のパッケージの紹介でした。
しかし、このパッケージ、残念ながらLaravel6.xでは互換性で使えない、と思ったら対応しているこれまたレポをフォークしたパッケージがありました。
https://github.com/oscarafdev/migrations-generator
捨てる神があれば、拾う神ありです。助けられま

元記事を表示

Laravel5.6 ユーザと管理者の認証を分けて作る

# 目的

– ユーザと管理者とで認証を分ける方法をまとめる。

# 実施環境

– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| PC | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– ソフトウェア環境

| 項目 | 情報 | 備考 |
| — | — | — |
| PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
| Laravel バージョン | 5.6.X | commposerを用いてこちらの方法で導入→[Mac Laravelの環境構築を行う](https://qiita.com/miriwo/items/adaaaeecae69d6392

元記事を表示

PHP基礎学習③

### 関数

“`PHP:PHP
function showAD()
{
echo ‘————–‘ . PHP_EOL;
}

showAD();
echo ‘Tom is great!’ . PHP_EOL;
echo ‘Bob is great!’ . PHP_EOL;
showAD();
echo ‘Steve is great!’ . PHP_EOL;
echo ‘Bob is great!’ . PHP_EOL;
showAD();

# 繰り返し、何度も使うものには便利
“`

### 引数

“`PHP:PHP
function showAd($message = Ad) //仮引数
{
echo ‘———-‘ . PHP_EOL;
echo ‘— ‘ . $message . ‘ —‘ . PHP_EOL;
echo ‘———-‘ . PHP_EOL;
}

showAd(“Header Ad”); //実引数
echo ‘Tom is great!’ . PHP_EOL;
echo ‘Bob

元記事を表示

CircleCIのテストでファイルが見つからなかった場合のチェックポイント

CircleCIでテストを実行しましたが、ファイルが見つからないエラーが起きたので解決法をまとめました。
とてもシンプルなエラーです。
結論から言うと、**指定したファイルがリポジトリ直下に無かった**事が原因でした。

##1. 前提
CircleCIと連携させたときに自動で作られたconfig.ymlをそのまま実行しました。
![_2020-08-19_9.46.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649853/d2934e2f-f75d-257e-a7e2-b0c7a0bcf2fd.png)

##2. エラー内容
![スクリーンショット 2020-08-18 12.48.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649853/50f13ac0-510b-8c92-1e69-fc249a875f19.png)

エラー1:Restoring cache

“`yml

元記事を表示

【初心者向け】laravel学習方法

##【まず初めに】
 今年の4月に新卒で入ったIT総合商社で、6月まで営業部にいましたが、希望を出し社内転職という形でバックエンドエンジニアとして働き、早1ヶ月が立ちました。
業務で使うlaravelを二週間かけて学習したのですが、phpを経験したことなかった僕は、つまずく事が多かったので、
これからphpや、laravelの学習を始めるよ!って人のために僕なりに学習方法をまとめてみました。
参考程度にご覧ください!!
##【laravel とは】
 phpフレームワークであり、MVC(Model, View, Controller)の各機能に分けてwebアプリケーションを実装します。
機能多彩であり、通常であれば何か月とかかる開発を大幅に短縮でき、世界中のwebアプリケーション開発に良く使われています。phpのフレームワークとなっているので、先にphpを学習してから、始めましょう!笑
##【学習方法】
 実際スクールに行かなくても学習できる方法はいくらでもあります、、
お金がある人はスクールに通ってもいいと思いますが、今回は、学習コストを抑えた点で紹介します。

①progate、

元記事を表示

PHP学習メモ②

### 条件分岐

“`PHP:PHP
$score = 55;

if($score >= 80){
echo “Great!” . PHP_EOL;
}elseif($score >=60)
echo “Good!” . PHP_EOL;
else{
echo “OK!” . PHP_EOL;
}

# ifの場合には、「;」はいらない
# {}で囲まれている内容をブロックという
“`

### 論理演算子

“`PHP:PHP

# 悪い例
$score = 60;
$name = “taguchi”;

if($score >= 50 ){
if($name === “taguchi”){
echo “Good job!” . PHP_EOL;
}
}

# 《論理演算子》
# && and なおかつ
# || or もしくは
# ! 〜ではない

# 良い例
$score = 60;
$name = “taguchi”;

if($score >= 50 && $name === “taguchi”){
echo “Good

元記事を表示

PHPについて簡単にまとめてみた

#プログラミングの勉強日記
2020年8月18日 Progate Lv.226
PHPについて学んだのでまとめる。

#PHPとは
 動的にWebページを生成できるサーバーサイドのスクリプト言語。MySQLといったデータベースとの連携が簡単で、Webアプリケーション開発によく使われる。
 PHPはアクセスのタイミングや状況によって表示内容が変わるように(動的に)Webページを生成するのに対してHTMLはいつだれが見ても同じように表示されるページを(静的に)表示している。HTMLのファイルの中にPHPを埋め込むことで、PHPによって動的にHTMLを生成して表示することができる。

#PHPの基本的なルール
 拡張子は`.php`をつける。コードの最後にセミコロンを付ける。

“`php

Hello World

‘;
?>
“`

#変数のルール
1. `$`から書き始める
2. 使用できる文字はa~z,A~Z,0~9,_
3. 数字は先頭に使えない
4.

元記事を表示

【PHP】業務で使ってきたPHP関数メモ

# 最初に
仕事で学習してきた内容を書き出していきます。
基本的には自分自身でわかるような内容になりますので、ご容赦ください。

※「覚えてない」で検索すると未調査の内容が出るよ
※「要勉強」で検索すると/未勉強の内容が出るよ

# 試験系
## str_split
文字列解体やデータ整形に使った
https://www.php.net/manual/ja/function.preg-split.php

##### ↓配列の文字列を1文字ずつ分解して、再度配列に入れ直す手段

“`php:hoge.php
// hogeという文字列があるとする
$array = array(‘hoge’)

foreach ($array as $k => $v) {
// 配列内の文字列を1文字ずつに分解し再格納
$array = str_split($v);

print_r($array);
exit;
// 0=>h ,1=>o, 2=>g, 3=>e みたいになるはず
“`

##### ↓配列の文字列の中に、空白などが含まれている場合

“`php:hoge.

元記事を表示

【Mac】XAMPP & Eclipse & XDebugにてPHPをデバッグ実行する方法


#前書き
Mac OS Catalinaにアップデート後、ずっと使用していた古いXAMPPが起動しなくなったのでこの機会にXAMPPを最新化しました。 筆者はXAMPP & Eclipseで開発をしているため、ついでにEclipseでデバッグする方法についても記載しています。

※ WindowsだとEclipseの中にXAMPP入ってたはずですが、Macだと別々なので少しややこしいですね

#本記事を作成した際の環境
OS : `mac OS Catalina Version 10.15.6`
XAMPP : `Version 7.2.32`
Eclipse : `Versio

元記事を表示

PHP学習メモ① (基礎内容を自分用にメモ)

### 開始タグ、閉じタグ

“`PHP:PHP

PHPのファイルにはHTMLも書けますが、
PHPのコードしか書かない場合は、閉じタグを書くべきではないというルール!

“`

### 改行

“`PHP:PHP
echo “Helo” . PHP_EOL;

# PHPでは、”\n”ではなくPHP_EOLを使う。
# エンドオブライン
“`

### コメント

“`PHP:PHP
// コメント
# コメント
/*
複数行でのコメント
*/
“`

### 変数

“`PHP:PHP
// コメント
$name = ‘taguchi’;
echo ‘Hello ‘ . $name . PHP_EOL;

# 変数の宣言は$を利用するが、使い方はrubyとさほど変わらない

“`

### “”の使い方

“`PHP:PHP
$name = ‘taguchi’;
echo “Hello $name” . PHP_EOL;

# 「””」であれば、変数を中に入れられる!
“`

### 長めのテキスト表現

“`PHP:PHP
$n

元記事を表示

Laravel(Blade)の配列をJavaScriptのオブジェクトに変換する

メモ書きです。

## Bladeのコード

“`php

“`

“`php

“`

“`php

“`

## 参考

– https://readouble.com/laravel/7.x/ja/blade.html
– https://www.it-swarm.dev/ja/javascript/javascript%E3%81%A7%EF%BC%88laravel%EF%BC%89%E9%85%8D%E5%88%97%E3%82%92%E6%B8%A1%E3%81%99/1057047683/

元記事を表示

OTHERカテゴリの最新記事