- 1. Laravel5.6 ユーザと管理者の認証を分けて作る
- 2. PHP基礎学習③
- 3. CircleCIのテストでファイルが見つからなかった場合のチェックポイント
- 4. 【初心者向け】laravel学習方法
- 5. PHP学習メモ②
- 6. PHPについて簡単にまとめてみた
- 7. 【PHP】業務で使ってきたPHP関数メモ
- 8. 【Mac】XAMPP & Eclipse & XDebugにてPHPをデバッグ実行する方法
- 9. PHP学習メモ① (基礎内容を自分用にメモ)
- 10. Laravel(Blade)の配列をJavaScriptのオブジェクトに変換する
- 11. 【PHP】アクセス権の意味とその使い分け
- 12. 【PHP】Herokuへデプロイしたアプリの投稿機能で500エラー
- 13. 【PHPでECサイト】
- 14. php artisan serveをしたらエラーになった
- 15. 引数の記法
- 16. type=”file”で送信したファイル名の取得方法
- 17. パッケージというかnamespaceの依存関係を機械的にチェックしたい
- 18. 日本語諸方言コーパスをDB化して遊ぶ (8) ファイル形式変換機能をつける
- 19. 【PHPでECサイト③】カート機能
- 20. phpUnitで配列の値を順不同で比較したい時
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 バージョン | 7.0.8 | 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/
【PHP】アクセス権の意味とその使い分け
#アクセス権とは?
変数やメソッドにどのクラスから接続できるかを示した定義。**public / private / protected**
上記3つのアクセス修飾子を変数やメソッドのはじめにつけることで定義する。#3つのアクセス修飾子の意味
**public** :どこからでもアクセス可能
**protected**:そのクラス内とそのクラスを継承したクラス、また親クラスからアクセス可能
**private** :そのクラス内でしかアクセスできない#この3つをどのように使い分けていくのか?
**public** :そのクラス外からも呼ばれるもの(メインメソッド・getメソッドなど)
**protected**:継承先でも使うもの
**private** :上記以外はprivateでつくる基本的にはprivateとpublicで作って、
継承が必要となった時にprotectedを使用していくのが
カプセル化を促進する上で有効なのではないか、と思っています。例:
税率って他から書き換えられたくはない
でも取得する処理は必要“`
Class Tax
【PHP】Herokuへデプロイしたアプリの投稿機能で500エラー
アカウント登録からデプロイまでとても簡単なHerokuでしたが、
作成したアプリケーションの記事投稿機能でPOSTする時に500エラーを出してしまったので、
対処する時に行った事を備忘録として残しておく。## 環境
PHP 7.3.8
Laravel 6.18.35
DBはPostgreSQL
Heroku CLI導入済み## ①ログを確認する
`heroku logs`コマンドでログを確認してみる
or
Herokuダッシュボードの`More`→`View logs`からでもログが確認可能です。
![スクリーンショット 2020-08-17 22.32.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531606/cf41e086-e3ee-6bcf-db19-e3f040bcadc4.png)
ただこの時点では`status=500`が発生した事以上の情報が得られないので、
詳細な情報を出力する為にHerokuの環境変数に`LOG_CHANNEL=errorlog`を設定します。ここ
【PHPでECサイト】
## はじめに
これまでに独学してきた知識の整理のために、ECサイトを作成します。### バージョン
PHP:7.4.5
phpMyAdmin:5.0.2
MySQL:5.7.30## 実装する機能
– [CRUD機能](https://qiita.com/taqmi/items/932a44b94b3a8c644370)
– [ログイン機能](https://qiita.com/taqmi/items/24520d00bb19d9b701b6)
– [カート機能](https://qiita.com/taqmi/items/5ab83a0093748c307f6f)——-
***Now Writing*….**– デザイン(Bootstrap)
– 購入履歴
– 検索機能
– ページネーション
– セキュリティ
php artisan serveをしたらエラーになった
laravelで作成したプロジェクトでサーバを起動しようとしたところこのようなエラーがでた
Version
・PHP 7.4.9
・Composer 2.0.0-alpha3
・Laravel Installer 3.2.0“`
$php artisan serveLaravel development server started: http://127.0.0.1:8000
Sun Aug 16 19:18:09 2020 (10355): Fatal Error Unable to create lock file: Bad file descriptor (9)
Laravel development server started: http://127.0.0.1:8001
Sun Aug 16 19:18:09 2020 (10356): Fatal Error Unable to create lock file: Bad file descriptor (9)
Laravel development server started: http://127.0.
引数の記法
# 引数のデフォルト値
“`php:cal1.php
function sum(float $a = 5, float $b = 2) : float {
return $a + $b;
}print sum(); // 7
print sum(1); // 3 $aに1が入る
print sum(1,5); // 6 $aに1,$bに5が入る
“`省略できるのは後ろの引数のみなので、要注意
引数にデフォルト値を設定できるのは、後方にデフォルト値のない引数がない場合のみ“`php:cal2.php
function sum(float $a = 5, float $b) : float {
return $a + $b;
}print sum(5); // Error
“`# 可変長引数の関数
可変長引数の関数 = 引数の個数があらかじめ決まっていない関数
引数の前に「…」をつける
“`php:cal3.php
function sum(float …$a) : float {
$result = 0;
type=”file”で送信したファイル名の取得方法
$_FILES(HTTP ファイルアップロード変数)を使用し、取得可能
“`
$_FILES[‘inputで指定したname’][‘name’]
“`使用例
“`
“`
パッケージというかnamespaceの依存関係を機械的にチェックしたい
作った。
https://github.com/nishphp/phpstan-namespace-dependency
https://github.com/nishimura/phpstan-namespace-dependency-sampleDDDでもMVCでも単純なレイヤー構造でもいいけど、各レイヤーごとの依存関係を静的にチェックしたかった。
コードを書き始めて、最初のうちは気を付けるしnewするときは割と意識しているんだけど、しばらく経った後とか急いでいるときとかにreturnやthrowでレイヤーを飛び越えて返却してしまうことがある。
最初はnamespaceを飛び越えてないかだけチェックしようと思ったけど、クラス名までチェックするようにしたらfriendやpackage private的なものも出来るようになってしまった。
コンストラクタやメソッドだけに制限をかけているわけではなくてクラス名単位で制限がかかるからちょっと違うけど。実際のプロジェクトに適用するところまでいけてないので、使い勝手はまだ不明。
日本語諸方言コーパスをDB化して遊ぶ (8) ファイル形式変換機能をつける
連載記事です。前回までに談話・話者ごとの発話総覧を作ったので、今回は最後の機能「サイト上での Excel と TextGrid の相互変換」を実装します。完全に自分用の作業メモで、説明もいろいろ足りていないと思いますが、ご容赦ください。
先述のとおり、今回は既に TextGrid と Excel を変換する Python スクリプトが存在しているので(内容には詳しく触れません)、これを Laravel アプリに組み込んでサーバー上で実行することを目指します。
– 第1回: [日本語諸方言コーパスをDB化して遊ぶ (1) 構成を考える](https://qiita.com/a_eau_/items/dcb83886c4b580565ce7)
– 第2回: [日本語諸方言コーパスをDB化して遊ぶ (2) SQLite3 で DB 化](https://qiita.com/a_eau_/items/0bb4f3f8271c6dbc12a5)
– 第3回: [日本語諸方言コーパスをDB化して遊ぶ (3) PHP Laravel で操作する](https://qiita.com/a_eau_
【PHPでECサイト③】カート機能
## はじめに
今回は、カート機能を実装していきます。
**※当ページは、【PHPでECサイト】で作られたものを前提にしています。**
– [【PHPでECサイト①】CRUD機能](https://qiita.com/taqmi/items/932a44b94b3a8c644370)
– [【PHPでECサイト②】ログイン機能](https://qiita.com/taqmi/items/24520d00bb19d9b701b6)### バージョン
PHP:7.4.5
phpMyAdmin:5.0.2
MySQL:5.7.30### 今回作成するファイル
**html**
– index.php
– index_add_cart.php
– cart.php
– cart_delete.php
– finish.php**model**
– carts.php**view**
– index_view.php
– cart_view.php
– finish_view.php## テーブルの作成
“`html:sample_carts
CREATE TABLE
phpUnitで配列の値を順不同で比較したい時
assertSameだと順不同で比較してくれない。
そういう時はassertEqualsCanonicalizingを使えば解決。
phpUnit7.5以降のversionで使用することができます。“`php5:使用例
//成功例。配列を順不同で比較してくれる。
$this->assertEqualsCanonicalizing([1,2,3,4],[4,1,3,2]);//失敗例。他の関数と同じく第3引数でコメントしてくれる
$this->assertEqualsCanonicalizing([1,2,3,4],[4,1,3,3],”失敗しました”);“`
参考:https://www.geeksforgeeks.org/phpunit-assertequalscanonicalizing-function/