- 1. 【簡単3 steps】Vue.jsサンプルをLaravelアプリに実装する方法
- 2. PHP よく使うString関数まとめ
- 3. ファイルアップロードツールを作ってみた
- 4. The PutObject operation requires non-empty parameterのエラー対応について
- 5. 画面遷移せずにformを送信する方法
- 6. 最近物忘れのひどい私が書いた、二重登録防止のためにMySQLでロックを使ったPHPのサンプルコード
- 7. Laravel8でバリデーションを日本語化
- 8. WordPress上に、PHPで簡単なウェブアプリを作成する
- 9. EC2サーバー構築の概要【備忘録】
- 10. REST API のレスポンス速度を改善するために行なった設計の上で大切なこと
- 11. はじめてのDocker compose
- 12. Eclipse(Xampp)のワークスペースをhtdocs以外にしようとして苦労した話
- 13. 【Laravel】Non-static method should not be called staticallyの解決方法
- 14. SESAME3 Web APIの開閉操作をPHPで実装してみた
- 15. PHP seleniumを使ってみよう
- 16. microCMSを使い超爆速でCMS機能を実装してみる【PHP/JS】
- 17. TwitterからWordPressへ投稿するPHPコード
- 18. 無料の勉強教材一覧 laravel編
- 19. laravelでgmailを使ってのメール送信ができない(laravel Expected response code 250 but got code “530”)
- 20. PHPで1年分の月を出力する。
【簡単3 steps】Vue.jsサンプルをLaravelアプリに実装する方法
![Vue.jsサンプルをLaravelアプリに実装する方法.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1954103/773b4b6d-b45d-c20d-18eb-7d2ed9369e8f.jpeg)
今回の記事は下記の方におすすめです!
:::note info
Laravelの基礎はOK
Vue.jsの基礎はOK
でもLaravelでVue.jsサンプルを使う方法が不明
:::自分でゴリゴリコードを書くのもありですが、最初のうちは「Vue.js」のサンプルをLaravelのサイトに埋め込むところから始めるのはありかもしれません。
今回は、「Vue.js」のサンプルが多数紹介されている海外のサイトを紹介しつつ、サンプルを実際の自分のプロジェクトに埋め込む方法について共有いたします!
今回の記事が参考になれば幸いです:relaxed:
なお、間違いやご指摘ありましたら、コメント下さると幸いです。—
# 実行環境
– PHP 7.4
– Laravel 6.2
– V
PHP よく使うString関数まとめ
# 本記事の内容
本記事では、String関数、マルチバイト文字列関数である、* explode (文字列を指定した文字列により分割する)
* substr (文字列の一部分を返す)
* nl2br (改行文字の前に HTML の改行タグを挿入する)
* str_replace (検索文字列に一致したすべての文字列を置換する)
* strpos (文字列内の部分文字列が最初に現れる場所を見つける, 文字列が存在するかの確認)の使い方をざっくりまとめています。
さらに詳しく知りたいという方は、記事最後に公式ドキュメントのページを一覧で記載しています。一つの関数あたり、
* 関数の詳細(公式リファレンスに沿った具体的なもの)
* ざっくりした説明の二部構成です。
使い方に関しては、ざっくりした説明だけを見ていただければ理解できる程の情報量を簡潔にまとめているので、急いでいる方は説明だけを見ていただければ十分だと思います。
(誤解を招く表現等ありましたらコメントでお願いします)## explode関数
explode関数
ファイルアップロードツールを作ってみた
#はじめに
PHPとJavaScriptを使ってブラウザ上で動作するシンプルなファイルアップロードツールを作りました。
Chromeブラウザで動作します。#ツールイメージ
ツールのイメージはこんな感じになります。
![01_img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/740996/75e52bd1-a1e0-c4d6-9725-e41cbffb55ec.png)
①テキストを保存する領域です。テキストエリアになっているので複数行保存出来ます。
②上部のテキストの内容を保存するボタンです。
③アップロードされているファイル一覧が表示される領域です。
ファイルがアップロードされている場合は、ファイル名・ダウンロードボタン・削除ボタンが表示されます。
④ファイルアップロード領域です。ここにファイルをドラッグ&ドロップするとファイルがアップロードされます。#ファイル構成
ツールのファイル構成はこのようになっています。
![02_img.png](https://qiita-ima
The PutObject operation requires non-empty parameterのエラー対応について
下記の記事を参考にs3へ画像を保存する途中でThe PutObject operation requires non-empty parameterのエラーが出たのでその対処法です。
https://qiita.com/nakasan773/items/9436e9b1c60831120aba
##参考にした記事
https://stackoverflow.com/questions/64751415/the-putobject-operation-requires-non-empty-parameter
##確認手順
https://qiita.com/nakasan773/items/9436e9b1c60831120aba
上記記事を参考にcomposerで必要なものを入れたりバケットを作ったり.envを書き換えます。
その後、
“`php
php artisan config:cache
もしくは
php artisan cache:clea
画面遷移せずにformを送信する方法
##画面遷移せずにformを送信する方法
formを送信する際にaction属性を自身に返す場合、入力した内容はそのまま表示させておきたいですよね。
“`html
“`
上記の例はaction属性が空なので自身に遷移します。
phpのみで入力した値を保持したい場合はinputのvalue属性にPOSTで渡ってきた情報を出力してやる必要があります。“`php
alert(‘保存しました’)“;
}
?>
Laravel8でバリデーションを日本語化
#はじめに#
Laravelはログイン機能を簡単に作ることが出来ますが、デフォルトではバリデーションメッセージが英語になっています。日本語に変更することもできますので備忘録として残していきます。#日本語化の手順#
Laravelのメッセージファイルはresources/lang/enにあります。enなので英語ですね。ファイルの中身を見てみるとこんな感じです。“`resources/lang/en/validation.php
WordPress上に、PHPで簡単なウェブアプリを作成する
「WordPress上にウェブアプリを作れないかな~」と考えていたところ、PHPで簡単に作れそうだったので挑戦してみました。
##対象者
– HTML・CSS・PHPの基礎を理解している人
– WordPressがどのような仕組みで動いているのか、ざっくりと理解できている人
– WordPressで、すでにブログを運営している人
– WordPressを使って、ウェブアプリを作ってみたい人なお、今回の記事を書くにあたり、こちらの本でPHPとWordPressの仕組みを勉強しました。
– WordPressユーザーのためのPHP入門 はじめから、ていねいに。
「PHP以外の言語でコードを書きたい!」という人もいるかもしれませんが、WordPressがPHPをベースとして作成されているため、ある程度の技術が必要になります。
(私は技術力がないので、あきらめました。)##成果物の解説
成果物は[こちら](https://corgi-komugi.com/php-test/)になります。
#はじめに
AWSの仮想サーバー構築用クラウドサービス「EC2」を用いて、PHPサイトを立ち上げた時に調べたことのまとめ。
全体の流れ・用語等についての記事であるため、具体的な手順については割愛しています。#目次
– 全体の流れ
– 項目別の詳細
– 用語
– 参考文献#全体の流れ
1. AWSにサインアップ
1. EC2インスタンスを作成
1. インスタンスをSSH接続で操作する
1. Apache・PHP・MariaDBをインストール
1. テスト用PHPファイルをアップロード
1. Elastic IPを割り当て
1. 各種設定を変更#項目別の詳細
####1. AWSにサインアップ・2. EC2インスタンスを作成
手順通りに進めるだけなので割愛。
####3. インスタンスをSSH接続で操作する
作成したインスタンスを操作する際には、端末からSSH接続をする。
SSHクライアントとして、今回はTera Termを使用する。
接続画面ではホストにパブリックDNS、ユーザーにec2-user、認証方式にSSHを選択し、インスタンス作成時に取得した秘密鍵を指定する
REST API のレスポンス速度を改善するために行なった設計の上で大切なこと
# はじめに
社内のプロジェクトで、大量のデータをjsonで返すAPIを実装した際に、レスポンス速度が遅くなりすぎるという課題が発生したことがありました。
この、課題を解決する過程で、開発者がWebサービスを実装する上で意識した方が良い点をいくつか学んだので記事にまとめたいと思います。# for 分のネストを浅くする
まず、以下のソースコードを見てください。
“`php:api.php
$all_datas = $this->model->find($query);
foreach($all_datas as $data){
foreach($data[‘data’] as $value_type => $data_by_type){
foreach($data_by_type as $timestamp => $val){
$response_array[$timestamp] = $val;
}
}
}“`
このようにfor分のネストが深くなると、OSのメモリ上にデータを格納した状態が長く続き、サーバーに大きな負荷がかかって
はじめてのDocker compose
## はじめに
以下のような構成で記事を執筆していますが、
どこからでも読めるような構成になっています。1. [ゼロから始めるDocker入門](https://qiita.com/suzu12/items/315fba934de11af826bd)
1. [はじめてのDockerfile](https://qiita.com/suzu12/items/c4bc47c0df6ec9b9290b)
1. [はじめてのDocker compose](https://qiita.com/suzu12/items/4ec2cc8c1a7c23aa112b) ←今回はここ## 対象読者
– `Docker` の使用に慣れてきた方
– `docker-compose.yml` でなにをしているのか知りたい方## 目次
– [はじめに](#はじめに)
– [対象読者](#対象読者)
– [目次](#目次)
– [Docker Composeとは](#docker-composeとは)
– [Docker compose](#docker-compose)
– [デ
Eclipse(Xampp)のワークスペースをhtdocs以外にしようとして苦労した話
### はじめに
Eclipse(Xampp)でも大抵の場合、htdocsにファイルを置いておけばローカルではたいてい動く。
ここまでは下記の記事でできた。https://qiita.com/Atsulabo/items/1d6cd3326267a02d3bf2
だが、仕事の都合上、htdocs以外の別の場所におかないといけなくなった。
そんなわけで、上の記事で保留した「別の場所に設定できない問題」というのを
解決せざるを得なくなった。というわけであれこれ試行錯誤した結果をまとめたい。
### 1. ファイルを置きたい場所に移動させて、パスを取得する
まずは今までhtdocsで作ったファイル群を置きたい場所に移動させておく。
ここでは仮に「C:¥MyPHPTool¥」に移動させるとする。### 2. Eclipseを開き、最初のワークスペースを決めるところで、上記のパスを入れる
元のhtdocsの場合、C:¥¥xampp¥htdocsとか、
Eclipse入れてたら C:¥¥Eclipse¥xmapp¥htdocs だけど、
置きたい場所の C:¥¥MyPHPT
【Laravel】Non-static method <メソッド名> should not be called staticallyの解決方法
#事象
以下のようにメソッドを呼び出したときに発生します。
“`php
class Item extends Model
{
public function getItems()
{
// 取得処理
“`“`php
class ItemController extends Controller
{
public function index(Request $request)
{
$items = Item::getItems();// Error
> Non-static method App\Models\Item::getItems() should not be called statically
“`#原因
エラーメッセージを訳すと***「非静的メソッド`App\Models\Item::getItems()`は静的に呼び出されるべきではありません」***になります。
原因はそのままで`getItems`は非静的メソッドなので、静的な呼び出しを行なってはならない、ということになります
SESAME3 Web APIの開閉操作をPHPで実装してみた
[candyhouse公式のドキュメント](https://doc.candyhouse.co/ja/SesameAPI)ではPHPでの実装方法が見つからなくて色々苦心したので記事にまとめてみました
使用環境
PHP 7.3.22使用ライブラリ
[cryptlib/cmac](https://packagist.org/packages/cryptlib/cmac) dev-master(2021/09/11時点)#手順
まずはAPI使用に必要な情報をSESAMEのシェア用QR(オーナー権限)から取得
公式だと手順が面倒くさかったけれど、便利なツールがあったのでこれを使用https://sesame-qr-reader.vercel.app/
使うのは以下の項目
– UUID
– Secret Key次に、[SESAMEのデベロッパーサイト](https://dash.candyhouse.co/)にログインしてAPI_KEYを取得
# 実装
AES-CMAC をPHPで実装してある記事が見つからなかったので、試行錯誤の結果です
基本的には公式ドキュメントの
PHP seleniumを使ってみよう
# はじめに
– PHPで、**`selenium`**を使用したい人
– 自動化処理に興味がある方## seleniumとは
> Selenium は、 Webアプリケーションをテストするためのポータブルフレームワークである。 Selenium は、テストスクリプト言語(Selenium IDE)を学ぶ必要なしに、機能テストを作成するための再生ツールを提供する。– [出典: フリー百科事典『ウィキペディア(Wikipedia)』](https://ja.wikipedia.org/wiki/Selenium_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2))
## ChromeDriverをインストール
**`ChromeDriver`**は、**Chromeを動かすために必要なドライバー**になります。
> [こちらからダウンロード](https://getcomposer.org/)
macの場合はHomeBrewでインストール可能
コマンド: brew install chromedriver
microCMSを使い超爆速でCMS機能を実装してみる【PHP/JS】
久しぶりです。最近JAMStackとかが流行ってる流れで**ヘッドレスCMS**が使われつつあるので実際に使って爆速でCMS機能を実装してみたので実装例とかを紹介したいと思います。
初心者はもちろん非エンジニアでもわかるレベルで解説・紹介します。**デモ:https://0115765.com/samples/php/MicroCMS_List.php**
# microCMSとは
microCMSは**純国産のヘッドレスCMS**です。https://microcms.io
ヘッドレスCMSとは表示する部分を排除したCMS(コンテンツ管理システム)のことです。
通常WordPressなどの一般的なCMSはフロントエンドとバックエンドのセットで構築されます。WordPressはテーマなどを使って見える部分を整備しますよね。
一方ヘッドレスCMSは表示する部分(=フロントエンド)を提供せず自分で見える部分を作るので**自由度が格段に増します**。(公式サイトより)
![公式サイトより](https://qiita-image-store.s3.ap-northeast-1.a
TwitterからWordPressへ投稿するPHPコード
#TwitterからWordPressへ投稿するPHPコード
***制作した経緯***
ググっても無かったので…。***前提条件***
1.一時間毎にcronで実行ファイルを叩く
2.WordPressへ投稿したいツイートには任意のキーワードを設定する
3.同じような内容のツイート内容は投稿しない
4.TwitterOAuthとWordPressは適所にインストールされていること
5.毎日、ツイートしていることhttps://github.com/taoka-toshiaki/Twitter_WordPress
“`php
無料の勉強教材一覧 laravel編
現在絶賛勉強中のPHPフレームワークlaravelが無料で学べるサイトを集めました。(随時更新していきます)
##環境構築編
MAMPを使ってlaravel6の環境構築がローカル上でできますcloud9を使ってlaravel6の環境構築ができます
cloud9を使ってlaravel8の環境構築ができます
##基本的なCRUD機能実装
##参考サイト
laravelでgmailを使ってのメール送信ができない(laravel Expected response code 250 but got code “530”)
下記の記事を参考にgmailのサービスを使ってlaravelからパスワードリセットのメール等を送れるように試みました。
環境
IDE AWS cloud9
laravel6設定は完了したものの所々でエラーに捕まったのでシェアします
https://qiita.com/hiro5963/items/df062ab19e8ceba4573f
#エラー
## 前提のcache等のクリア.envファイルを書き換えたら必ずcacheをクリアしましょう。クリアしないとenvファイルの内容が反映されません。
“`
php artisan cache:clear
“`下記の記事を保存しておきましょう
https://qiita.com/Ping/items/10ada8d069e13d729701## config/mail.phpの確認
envファイルの内容はconfigファイルを経由して反映されます。
envファイルの内容によって変わります例
“`php:.env
MAIL_DRIVER=smtp
“`の場合には
“`php:config
PHPで1年分の月を出力する。
##PHPで一年分の月を出力する。
データベースに月毎でデータを保存しているってことはまあまああることだと思います。
一年単位で一括更新したいデータがあったのですが、テーブルが別れているのでめんどくさいのでfor文で一気に更新してしまいます。for文といえば
“`php
for($i = 0; $i < 12; $i++){ //なんか処理 } ``` こんな感じだと思うんですけど、今回は ```php $to_month = date("Ym"); //1年後 $limit_month = date("Ym", strtotime(date("Ymd")." +1 year")); for($m = $to_month; $m <= $limit_month; $m = date("Ym", strtotime($m."01 +1 month"))){ echo "“; var_dump($m); echo ““;
}// string(6) “202109”
// string(6) “202110”
// st