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

PHP関連のことを調べてみた2020年11月18日
目次

炎上している件とは関係ないけどforとforeachの違いをまとめてみた

前回の記事 → [転生できないからVimで2つのファイルの差分を確認してみた](https://qiita.com/daikin/items/84b669b44a4c8053b45d)

### ほんと炎上とは何も関係ないです←
forとforeachって何が違ってどう使うのかややこしくなった時期が
過去あったなぁと思ったのでまとめました
因みに個人的な好みとしてforeachの方が使うことが多いです^ – ^

#### for
公式 → https://www.php.net/manual/ja/control-structures.for.php

“`PHP
for ($i = 1; $i <= 10; $i++) { echo $i; } ``` 基本的な使い方は上記の通りで $iが1からカウント?スタートして10になるまで{}の中の処理を繰り返します。 自分で繰り返す回数を指定出来る様なイメージで解釈しています。 #### foreach 公式 → https://www.php.net/manual/ja/control-structures.foreach

元記事を表示

YouTube Data API v3 クォータ制限について

プログラミング初心者が自身で作りたいwebページの作成中に
疑問に思ったこと、問題解決したことを書いていきます。
間違っている点も多々あると思います。

突然、YouTube Data API v3 で取得していた動画情報が取得できなくなってしまった

YouTubeの動画URLを入力すればカテゴリ別に仕分けしてDBに登録し、リスト形式で表示するというwebアプリを作った。
動画情報をYouTube Data API v3を用いてリスト形式で表示させるというものだったが
突然動画情報が取得できなくなってしまった。

1.原因の調査

原因を調査したところ、GoogleのAPIでは1日に使用できる「クォータ(Queries)(?)」の制限があるとのこと。

[コンソール](https://console.cloud.google.com/apis/api/youtube.googleapis.com/quotas)

こちらにアクセスしたところ確かにいっぱいだった・・・
(

元記事を表示

Laravel で「Server error: GET http://cabinet.laravel.com/latest.zip resulted in a 522 Origin Connection Time-out response:」エラー

Laravel で久しぶりに laravel new blog のコマンドを打ってプロジェクトを作ろうとしたらタイトルのエラーが発生した。

“`
laravel% laravel new blog
Crafting application…

In RequestException.php line 113:

Server error: `GET http://cabinet.laravel.com/latest.zip` resulted in a `52
2 Origin Connection Time-out` response:

522 O</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>Laravel</div> <div class='tag-cloud-link'>laravel8</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/tatatagroup/items/fe6d996a9b36a97cfa72'>元記事を表示</a></div> <h3 id="outline__2_2"><a href='https://qiita.com/miriwo/items/7554a487215f8ae5a922'>JavaScript PHP 正規表現を使用した文字列置換でが何を指しているかわからなかったので調べて簡単にまとめる</a></h3> <blockquote><p># 目的</p> <p>– JavaScriptとPHPの文字列置換でどうして$1にヒットした文字列が入っているのかわからなかったので調べてみた</p> <p># 前提情報</p> <p>– JavaScriptは下記の方法で確認した<br /> – [JavaScript 正規表現をchromeの検証モードで確認する](https://qiita.com/miriwo/items/b874f9cc27fa44451769)<br /> – PHPは下記のサイトで確認した。<br /> – [https://paiza.io/ja](https://paiza.io/ja)<br /> – 下記の内容を実装中に$1になぜヒット内容が入っているか気になった。(本来良くないことだが$1にすればヒットした内容が格納されているということを一つ覚えで実装してしまった。)<br /> – [Vue.js 表示文字列にURLが含まれていたときにリンク化する](https://qiita.com/miriwo/items/1c70ba9ed43595608a93)</p> <p># 確認</p> <p>1. Chromeの検証モードのコンソールでで下記を実行してみる。</p> <p> “`JavaS</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>正規表現</div> <div class='tag-cloud-link'>初心者</div> <div class='tag-cloud-link'>初心者向け</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/miriwo/items/7554a487215f8ae5a922'>元記事を表示</a></div> <h3 id="outline__2_3"><a href='https://qiita.com/progblog/items/1703a6d0ae8f96346d5d'>PHPの勉強でポートフォリオ投稿サイトを作ってみた</a></h3> <blockquote><p># はじめに<br /> 新卒でウェブ制作会社に就職し、コードの量産に嫌気が差し営業に転職。<br /> 趣味で作りたいもののために勉強しているウェブエンジニアです、こんにちは。</p> <p>今まではWordpressを使用しウェブサイトを作ってきましたが、ウェブサービスを作りたく思いバックエンドの勉強を開始しました。<br /> その時、悩んだこと、作ったサービスを簡単に書こうと思います。</p> <p># 「PHP」を選択するか、あるいは「Laravel」選択するか<br /> 結果的にタイトルにあるように“PHP“を選択しましたが、すごい悩みました。<br /> というのも“PHP“はあまりいい噂を聞きません。<br /> 「やれ、古い」「やれ、汚い」挙句の果てに「オワコン」なんて言葉も見つけました。</p> <p>それに比べて“Laravel“はかっこいい。<br /> なんかモダンな香りがしますよね。<br /> 「“PHP“勉強してるより、“Laravel“勉強してる」の方がかっこいい。</p> <p>形から入るタイプの私はすごい悩みました。<br /> 通勤電車中、仕事中、食事中、ずっと考えました。<br /> 考えて考えて考え抜いた結果、「とりあえず手を動かそう、早く作ろう」という結論に至りました。</p> <p>そうすると</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/progblog/items/1703a6d0ae8f96346d5d'>元記事を表示</a></div> <h3 id="outline__2_4"><a href='https://qiita.com/yuki4839/items/d84cd2c9d478b11ebed9'>【PHP:条件分岐】if文、else文、elseif文の3つを具体例付きで解説!【初学者向け】</a></h3> <blockquote><p>プログラミングを`Progate`や`ドットインストール`、勉強はじめた時は、覚える関数が多くて</p> <p><b>「どの関数を使うかわからない!」</b><br /> <b>「そもそも関数多くて覚えてられない!」</b></p> <p>などと悩んだことが多かったです。</p> <p>しかし、`Progate`や`ドットインストール`で紹介されている関数は網羅的なので、正直あまり使われない関数も多いです。と言うことで、この記事ではまず最初に抑えたい<b>if文</b>と言う関数を3つご紹介します。</p> <p>##if_else_elseif文 (超頻出)</p> <p>###書き方</p> <p>“`php<br /> <?php if (/* 条件式① */) { /* 条件式①を満たした場合の処理 */ } elseif (/* 条件式② */) { /* 条件式①を満たさず、条件式②を満たした場合の処理 */ } else { /* 全ての条件式を満たさなかった場合の処理 */ } ?><br /> “`</p> <p>因みにelseif以下の部分と、else以下の部分は書いても書かなくてもOKで、その都度利用していく感</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>初心者</div> <div class='tag-cloud-link'>初心者向け</div> <div class='tag-cloud-link'>if文</div> <div class='tag-cloud-link'>初心者エンジニア</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/yuki4839/items/d84cd2c9d478b11ebed9'>元記事を表示</a></div> <h3 id="outline__2_5"><a href='https://qiita.com/naoya-11/items/470fb374f94ab216c535'>【Laravel基礎】フォームの入力内容を制限する方法【バリデーションとフォームリクエスト】</a></h3> <blockquote><p>#概要#<br /> Laravel学習で自分がつまずいた部分を備忘録としてまとめています。<br /> 今回はフォームの入力内容の制限に関する記事です。</p> <p>#つまずいたポイント#<br /> 指定条件以外のフォーム入力を弾いてくれる`バリデーション`。<br /> そんなバリデーションですが、アクション事に毎回指定するのが面倒くさい。。<br /> 効率的な方法が無いか調べました。</p> <p>どうやら、`フォームリクエスト`なるものを使うと<br /> 一括でバリデーションを指定出来るとのこと。</p> <p>バリデーションの復習もかねて、下記の2つを記事にしました。</p> <p>####①バリデーション####<br /> ####②フォームリクエスト####</p> <p>以下、記事内容です!</p> <p>#バリデーション#<br /> まずはバリデーションの復習。<br /> 保存や編集などの、フォーム内容を受け取るアクション内で、<br /> `$this->validate($request,[条件]);`を入力。<br /> 第2引数の入力内容が、フォームの入力条件になります。</p> <p>■コントローラ</p> <p>“`laravel:PostsController<br /> public function store(Request $request) { </p> </blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>Laravel</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/naoya-11/items/470fb374f94ab216c535'>元記事を表示</a></div> <h3 id="outline__2_6"><a href='https://qiita.com/captainUmaru/items/5c01042ad4f7481447af'>5分で作るDocker+Laravel PHP+Vue.js開発環境構築</a></h3> <blockquote><p>|開発環境|<br /> |—|<br /> |macOS Big Sur|</p> <p>下記の記事を参考に環境構築を行ったのですが、<br /> やれ`wget`コマンドが無いだの、`apt-get`コマンドが無いだの初心者の方への導入への障壁がいくつかあったため、<br /> それを乗り越えるための記事にしたいと思います。(※注:下記の記事は決して悪くありません。)</p> <p>|タイトル|リンク|<br /> |—|—|<br /> |5分で作るLaravel+Vue.js開発環境(docker-compose)|https://qiita.com/yusukeito58/items/37bd551560e495dbd1b8|<br /> —<br /> # `wget`コマンドインストール<br /> |タイトル|リンク|<br /> |—|—|<br /> |Mac – wgetコマンドをインストール(使えるようにする)|https://qiita.com/th4inf/items/f85c1b91065d85af67b9|<br /> —<br /> # ~~`apt-get`コマンドインストール~~ ←apt-getコマンドが無いかと思い調べてが結果的にいらないのでやらんで良い<br /> |タイトル|リンク|<br /> |—|-</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>Laravel</div> <div class='tag-cloud-link'>Docker</div> <div class='tag-cloud-link'>Vue.js</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/captainUmaru/items/5c01042ad4f7481447af'>元記事を表示</a></div> <h3 id="outline__2_7"><a href='https://qiita.com/daikin/items/84b669b44a4c8053b45d'>転生できないからVimで2つのファイルの差分を確認してみた</a></h3> <blockquote><p>### 状況<br /> 案件の対応で先方の都合?で<br /> Bitbucketでコードの管理を行い<br /> 完成したコードをFTPを使って直接サーバーにコードをアップする<br /> その際にコードの改修をする場合に仮にclone(pull)したコードが<br /> 先方のサーバーにあるコードと相違があった場合に意図しない処理が<br /> 先方のサーバーに上がってしまいトラブルの原因となってしまうので<br /> その確認のために差分を見ることを実施したのでその忘備録</p> <p>参考サイト<br /> → https://nanasi.jp/articles/howto/diff/diff_text.html</p> <p>改修を予定しているAファイルを開いて下記コマンドを実行</p> <p>“`<br /> :vertical diffsplit 差分を取りたいファイル<br /> “`<br /> 今回はBファイルと照らし合わせるとした場合には</p> <p>“`<br /> :vertical diffsplit Bファイル<br /> “`</p> <p>こうすることで画面が縦に2分割されて差分がみれる<br /> なお自分がやったときには差分が無かった為<br /> 一行ほどに文言が書かれているだけだった。</p> <p>もしこれで差分があった場合には<br /> Bitbucketにあるファイルが古いのか<br /> ま</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>Vim</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/daikin/items/84b669b44a4c8053b45d'>元記事を表示</a></div> <h3 id="outline__2_8"><a href='https://qiita.com/kei4eva4/items/7b7c77e5e883d1ee3e12'>AWS BeanstalkでLaravelをデプロイするときにCloudwatch Logsにログを転送する</a></h3> <blockquote><p># 前提のBeanstalk環境</p> <p>PHP 7.4 running on 64bit Amazon Linux 2/3.1.3</p> <p># やること<br /> – lavavel.logのパーミッション設定<br /> – EC2にCloudwatch Logsのロググループ作成のためのサービスロールを追加<br /> – 設定ファイル(.ebextensions)の作成</p> <p># 1. lavavel.logのパーミッション設定</p> <p>“`sh<br /> $ chmod 0664 /var/www/html/storage/logs/laravel.log<br /> “`</p> <p># 2. lavavel.logのパーミッション設定<br /> – Beanstalk環境のIAM インスタンスプロフィールに設定されているIAMロールに、CloudWatchLogsFullAccessのポリシーを追加<br /> (Codepipelineでデプロイしている場合は、そのロールにも同様にCloudWatchLogsFullAccessのポリシーを追加)</p> <p># 3. 設定ファイル(.ebextensions)の作成</p> <p>– PHP Platformでデフォルトで追加されるログの設</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>AWS</div> <div class='tag-cloud-link'>Laravel</div> <div class='tag-cloud-link'>Beanstalk</div> <div class='tag-cloud-link'>CloudWatch</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/kei4eva4/items/7b7c77e5e883d1ee3e12'>元記事を表示</a></div> <h3 id="outline__2_9"><a href='https://qiita.com/takyam/items/ca0af799e250cf145a8f'>でかいデータのAjaxリクエストを圧縮して軽くしてPHPで受け取る</a></h3> <blockquote><p>数MBくらいあるデータをリクエストボディに載せたいけど、少しは軽くしたいのでゴニョゴニョ。</p> <p>## JS側</p> <p>“`js<br /> import pako from ‘pako’<br /> import axios from ‘axios’</p> <p>const bigObject = { /* 超でかいObject */ }<br /> const json = JSON.stringify(bigObject)<br /> const gzipped = pako.gzip(json, { to: ‘string’ })<br /> const base64Encoded = btoa(gzipped)<br /> axios.post(‘/api/foo’, { compressed: base64Encoded })<br /> “`</p> <p>– JSONにする<br /> – [pako](https://www.npmjs.com/package/pako) を使ってgzip圧縮する<br /> – [btoa()](https://developer.mozilla.org/ja/docs/Web/API/WindowOrWorkerGlobalScope/btoa) を使ってBase</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>JavaScript</div> <div class='tag-cloud-link'>JSON</div> <div class='tag-cloud-link'>gzip</div> <div class='tag-cloud-link'>pako</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/takyam/items/ca0af799e250cf145a8f'>元記事を表示</a></div> <h3 id="outline__2_10"><a href='https://qiita.com/kei4eva4/items/b1d7a2835b6ff20c5128'>Laravel passportのログイン失敗のエラーを飛ばさないようにする</a></h3> <blockquote><p>Laravel passportを使うときデフォルトでは、ユーザーのログイン認証に失敗するだけでエラーを投げるようになっている。<br /> エラートラッキングツール(Sentryなど)を使っていると、ユーザーがログイン失敗するだけで通知が来てしまうのが面倒。</p> <p>Handler.pnpに、下記のように追記するとエラーが飛ばないようにできる。</p> <p>“`php:app/Exceptions/Handler.php<br /> protected $dontReport = [<br /> \Laravel\Passport\Exceptions\OAuthServerException::class,<br /> ];<br /> “` </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>Laravel</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/kei4eva4/items/b1d7a2835b6ff20c5128'>元記事を表示</a></div> <h3 id="outline__2_11"><a href='https://qiita.com/naoya-11/items/3563d7ad6112bc59eabd'>【Laravel基礎】データの受け渡し方 【①ルートパラメータ②Implicit Binding】</a></h3> <blockquote><p>#概要#<br /> Laravel学習で自分がつまずいた部分を備忘録としてまとめています。<br /> 今回はデータの受け渡しに関する記事です。</p> <p>#つまずいたポイント#<br /> 記事投稿型の簡易アプリ作成時につまずいた問題です。</p> <p>記事一覧ページ→記事の詳細ページに移る際、<br /> ビュー→コントローラに投稿のデータを渡すにはどうしたら良いのか?<br /> 下記2つの方法で解決出来たので記事にしてみました。<br /> ####①ルートパラメータ####<br /> ####②Implicit Binding####</p> <p>以下、記事内容です!</p> <p>#ルートパラメータ#<br /> まず渡し方の1つがルートパラメータを用いた方法です。</p> <p>■ビュー</p> <p>“`laravel:index.blade.php<br /> @foreach ($posts as $post)</p> <li> <a href="/posts/{{ $post->id }}”>{{ $post->title }}</a> </li> <p> @endforeach<br /> “`</p> <p>まず、ビュー上でURLを用いて、ルーティングに投稿のIDを渡します。</p> <p>■ルーティング</p> <p>“`laravel:</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>Laravel</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/naoya-11/items/3563d7ad6112bc59eabd'>元記事を表示</a></div> <h3 id="outline__2_12"><a href='https://qiita.com/hotaca/items/da8d8f43bf258fad8689'>InterventionImageで編集した画像ファイルをbase64変換してMySQLに保存する</a></h3> <blockquote><p># やりたいこと<br /> InterventionImageで編集した画像ファイルをバイナリーに変換してMySQLに保存したい<br /> もちろん画像ファイルは/public配下やS3などのファイルシステムに保存するのが定石なのは承知の上で、今回は手軽さを優先してDBに画像ファイル自体をtextカラムに保存する</p> <p># 環境</p> <p>“`shell-session</p> <p>% sw_vers<br /> ProductName: Mac OS X<br /> ProductVersion: 10.15.7<br /> BuildVersion: 19H2</p> <p>% docker version<br /> Client: Docker Engine – Community<br /> Cloud integration: 1.0.1<br /> Version: 19.03.13<br /> API version: 1.40</p> <p># php -v<br /> PHP 7.4.7 (cli) (built: Jun 11 2020 18:41:17) ( NTS )<br /> Copyright (c) The PHP Group<br /> Zend Engine v3.4.0, Copyrigh</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>MySQL</div> <div class='tag-cloud-link'>Laravel</div> <div class='tag-cloud-link'>image</div> <div class='tag-cloud-link'>InterventionImage</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/hotaca/items/da8d8f43bf258fad8689'>元記事を表示</a></div> <h3 id="outline__2_13"><a href='https://qiita.com/KosukeOmura/items/08ec2de10363ff361acb'>バイト ビット について strlen関数mb_strlen関数で実証</a></h3> <blockquote><p>学習した事をアウトプットするためいんQiita投稿しています。<br /> 学習中ユーザーが書いた記事になります。</p> <p>[ビット・バイト]について学習した理由は、<br /> strlen関数、mb_strlen関数(簡単に文字列を数える)関数について理解を深めたかったから。</p> <h1>ビットとは</p> <p>ビットとは、0か1が入る箱の事。</p> <p>つまり、</p> <p>“`<br /> 1ビット・・・0、1(2通り)</p> <p>2ビット・・・01、10、00、11 (4通り)</p> <p>3ビット・・・000、001、010、011、100、101、110、111(8通り)</p> <p>4ビット・・・16通り</p> <p>5ビット・・・32通り</p> <p>それでは問題。</p> <p>16ビットは何通りでしょうか。</p> <p>ヒント:<br /> ・1ビットで表現できるのは0、1の2通り<br /> ・ビットパターンは0、1の2通り</p> <p>正解は下記 「【基本】シングルバイトとは」に記載。<br /> “`</p> <p>上記を見ていただいたら分かる通り、1ビット増えるごと、倍のデータ量となります。</p> <h1>【基本】バイトとは</p> <p>バイトとは、0か1が入る箱(ビット)が8つくらい入る大きな箱の事。</p> <p>補足:<br /> 基本的には1バイト=8ビット<br /> ただ、<br /> ・1バ</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>ビット</div> <div class='tag-cloud-link'>バイト</div> <div class='tag-cloud-link'>strlen()</div> <div class='tag-cloud-link'>mb_strlen</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/KosukeOmura/items/08ec2de10363ff361acb'>元記事を表示</a></div> <h3 id="outline__2_14"><a href='https://qiita.com/shintokougyo/items/981b2da7f431bbe89bb1'>ESP32とMySQLとXAMPPを使ってWiFi強度(RSSI)をリアルタイムで閲覧したい</a></h3> <blockquote><p>たまにネットワークが途切れるがどのネットワークが強いのか接続しないと分からないなぁ。のひとことから勉強のつもりで作ってみました。<br /> esp32でRSSIを取得するコードがなかなかみつからなかったのでここに残します。<br /> arduino ideのソースコードに関してはほぼ初心者でhtmlは今回の件で初めて触りました。<br /> 自分で見てもかなり見にくいのでアドバイスもいただけますと幸いです。<br /> もちろん市販品のほうが性能もよく見やすいのは承知です。</p> <p>#今回の目標<br /> ①esp32でRSSIを取得しMySQLへ蓄積。<br /> ②MySQLに蓄積されたデータをxamppを使い社内のみブラウザで閲覧できるようにする。</p> <p>#①の攻略<br /> まずソースコードは以下の通り。<br /> 環境設定をしたarduino ideへ。</p> <p>“`esp32_wifi_power_complete.ino</p> <p> #include <SPI.h><br /> #include <WiFi.h><br /> #include <MySQL_Connection.h><br /> #include <MySQL_Cursor.h></p> <p>const char ssid[] = “*******”; </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>MySQL</div> <div class='tag-cloud-link'>xampp</div> <div class='tag-cloud-link'>ESP32</div> <div class='tag-cloud-link'>RSSI</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/shintokougyo/items/981b2da7f431bbe89bb1'>元記事を表示</a></div> <h3 id="outline__2_15"><a href='https://qiita.com/m1h4rYOU/items/91443fd1276874372b42'>【PHP】画面出力する際にechoとprintどちらを使うか</a></h3> <blockquote><p>PHPの初学者です。ふと疑問に思いました。</p> <p>##画面出力する際にechoとprintのどちらを使うか<br /> ###結論: どちらを使っても、大した違いはありません。<br /> (但し、厳密には異なります。)</p> <dl> <dt>echo</dt> <dd><strong>1つ以上の</strong>文字列を出力します。</dd> <dd>返り値・・・値を返しません。</dd> <dt>print</dt> <dd>文字列を出力する</dd> <dd>返り値・・・常に1を返します。</dd> </dl> <p>###つまり…<br /> **echo** → 返り値が**ない**<br /> **print** → 返り値が**ある**<br /> でも、printで出力した場合、常に返り値が1であるため、それを使って何かをすることはありません。</p> <p>##結局は、echoで出力すると良い<br /> 今までの説明で、echoもprintも違いはあれども、大した違いは無いということはわかっていただけだかと思われます。</p> <p>###<font color="DeepPink">それでもechoを使うと良いのです!</font><br /> 理由はパラメーターの違いです</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/m1h4rYOU/items/91443fd1276874372b42'>元記事を表示</a></div> <h3 id="outline__2_16"><a href='https://qiita.com/donraku/items/7869b44b9fc4ad376557'>プリザンターから自前アプリの画面を開く</a></h3> <blockquote><p># 概要<br /> プリザンターから情報を引き継いで、自前アプリの画面を開く方法を調査。<br /> 例えば、プリザンターでログインした後に、特定のデータだけは自前アプリを作って表示するといった使い方を想定。</p> <p>## 前提条件<br /> – 環境<br /> – OS: Windows10<br /> – ローカル環境に構築したプリザンター<br /> – 以下の詳細説明は省略<br /> – プリザンター<br /> – php</p> <p># 結論<br /> プリザンターから自前アプリの画面を開けることを確認できた。<br /> スクリプトでPOSTして自前アプリに画面遷移させる方式。<br /> プリザンターの情報の引継ぎも可能。</p> <p># 詳細</p> <p>## 自前アプリを準備<br /> phpで簡単なページを作って、簡易サーバを起動しておく。<br /> POSTで受け取った以下3つの情報を表示するだけの画面。</p> <p>– userId<br /> – userName<br /> – loginId</p> <p>↓簡単なページ</p> <p>“`index.php<br /> <!DOCTYPE html><br /> <html lang="ja"><br /> <head><br /> <meta charset="UTF-8"><br /> <meta name="viewport" conte</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>プリザンター</div> <div class='tag-cloud-link'>Pleasanter</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/donraku/items/7869b44b9fc4ad376557'>元記事を表示</a></div> <h3 id="outline__2_17"><a href='https://qiita.com/tamakiiii/items/6551a67392e923c7cfdf'>表示件数を1ページ目だけ変えるページネーションの実装</a></h3> <blockquote><p>#はじめに<br /> 表示件数が1ページ目だけ異なるページネーションの実装をまとめました。<br /> 紹介した内容以外でもっと良い方法がありましたら教えてもらえると助かります!</p> <p>#解説<br /> 1ページ目に3件、2ページ目以降は10件ずつ表示する場合で解説していきます。<br /> (件数は適当なので、各自好きな数字で調整してみて下さい)</p> <p>##ページの取得件数を設定</p> <p>“`<br /> $post_per_page = $paged > 1 ? 10 : 3;<br /> “`<br /> ページの取得件数を設定しています。1ページ目なら**3**、2ページ目以降なら**10**を設定します。<br /> SQLの`LIMIT句`に`$post_per_page`を設定すれば、テーブルから取得するデータ件数を指定できます。</p> <p>## 取得するデータの開始位置を設定</p> <p>“`<br /> if ( $paged > 1 )<br /> $add_args[‘offset’] = 3 + ( $paged – 2 ) * 10;<br /> “`<br /> 2ページ目以降は1ページ目の3件+1ページごとに10件読み飛ばします。<br /> 例:2ページ目は4件目から、3ページ目は14件目からデータを取得</p> <p>ここでの`</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>ページネーション</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/tamakiiii/items/6551a67392e923c7cfdf'>元記事を表示</a></div> <h3 id="outline__2_18"><a href='https://qiita.com/kento-hasegawa/items/32b5023ec62faa6daccc'>最近のエラーまとめ</a></h3> <blockquote><p>#最近発生したエラーの振り返り<br /> 簡単な内容のエラーではあるが、記事にしてアウトプットする。</p> <p>【この記事の目的】</p> <p>✅どんなエラーがあったのか記録の意味をこめて記載<br /> ✅アウトプットを継続する力をつける<br /> ✅簡単な内容から文章にし、記事を書くことに慣れる</p> <p>##1.SQL が開けないエラー<br /> SQLの実行コードを行ったが開けなかった。</p> <p>“`<br /> docker-compose app mysql -h db -u book_log -D book_log -p<br /> “`</p> <p>上記のようにコードを記述して実行した所</p> <p>“`<br /> No such command: app<br /> “`</p> <p>docker-compose と app の間の exec が抜けてしまっていた凡ミス。<br /> 今後コードを良く見返して実行するように注意する。</p> <p>##2.SQLへのデータ登録エラー<br /> SQL登録の際に以下のエラーが発生</p> <p>“`<br /> ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your My</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>PHP</div> <div class='tag-cloud-link'>初心者</div> <div class='tag-cloud-link'>アウトプット</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/kento-hasegawa/items/32b5023ec62faa6daccc'>元記事を表示</a></div> </div> </section> <!-- 記事下シェアボタン --> <aside> <ul class="socialList"> <li class="socialList__item"><a class="socialList__link icon-facebook" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fmiofactor.com%2F2020%2F11%2F18%2Fpost-8773%2F&t=PHP%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2020%E5%B9%B411%E6%9C%8818%E6%97%A5" target="_blank" title="Facebookで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-twitter" href="http://twitter.com/intent/tweet?text=PHP%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2020%E5%B9%B411%E6%9C%8818%E6%97%A5&https%3A%2F%2Fmiofactor.com%2F2020%2F11%2F18%2Fpost-8773%2F&url=https%3A%2F%2Fmiofactor.com%2F2020%2F11%2F18%2Fpost-8773%2F" target="_blank" title="Twitterで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-line" href="http://line.naver.jp/R/msg/text/?PHP%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2020%E5%B9%B411%E6%9C%8818%E6%97%A5%0D%0Ahttps%3A%2F%2Fmiofactor.com%2F2020%2F11%2F18%2Fpost-8773%2F" target="_blank" title="LINEで送る"></a></li></ul> </aside> <!-- /記事下シェアボタン --> <!-- 記事下エリア[widget] --> <aside class="widgetPost widgetPost-bottom"><aside class="widget widget-post"><h2 class="heading heading-primary">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside></aside> <!-- /記事下エリア[widget] --> <!-- 関連記事 --> <aside class="related"><h2 class="heading heading-primary">関連する記事</h2><ul class="related__list"> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2021/12/28/post-15456/" title="JavaScript関連のことを調べてみた2021年12月28日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/js-150x150.png" alt="JavaScript関連のことを調べてみた2021年12月28日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2021/12/28/post-15456/">JavaScript関連のことを調べてみた2021年12月28日</a> <span class="icon-calendar">2021.12.28</span> </h3> <p class="related__contents">目次 0.1. Node.jsでimport・export(ES6の構文)を使えるようにwebpack × Babelの設定をやってみた0.2. Ty[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2021/09/10/post-12695/" title="PHP関連のことを調べてみた2021年09月10日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/php-150x150.png" alt="PHP関連のことを調べてみた2021年09月10日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2021/09/10/post-12695/">PHP関連のことを調べてみた2021年09月10日</a> <span class="icon-calendar">2021.09.10</span> </h3> <p class="related__contents">目次 1. laravelでgmailを使ってのメール送信ができない(laravel Expected response code 250 but g[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2022/04/16/post-18286/" title="Ruby関連のことを調べてみた2022年04月16日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/ruby-150x150.png" alt="Ruby関連のことを調べてみた2022年04月16日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2022/04/16/post-18286/">Ruby関連のことを調べてみた2022年04月16日</a> <span class="icon-calendar">2022.04.16</span> </h3> <p class="related__contents">目次 1. 【Rails】booleanは実質メソッド!?と感じたこと2. RuboCop::Cop::Rails::PresenceというRuboc[…]</p> </li> </ul></aside> <!-- /関連記事 --> <!-- コメント --> <!-- /コメント --> <!-- PVカウンター --> <!-- /PVカウンター --> </main> <!-- /l-main --> <!-- l-sidebar --> <div class="l-sidebar"> <aside class="widget"> <div class="searchBox"> <form class="searchBox__form" method="get" target="_top" action="https://miofactor.com/" > <input class="searchBox__input" type="text" maxlength="50" name="s" placeholder="記事検索"><button class="searchBox__submit icon-search" type="submit" value="search"> </button> </form> </div></aside><aside class="widget"><h2 class="heading heading-widget">Category</h2> <ul> <li class="cat-item cat-item-1"><a href="https://miofactor.com/category/other/">OTHER</a> </li> </ul> </aside><aside class="widget"><h2 class="heading heading-widget">Back number</h2> <ul> <li><a href='https://miofactor.com/2024/09/'>2024年9月</a></li> <li><a href='https://miofactor.com/2024/08/'>2024年8月</a></li> <li><a href='https://miofactor.com/2024/07/'>2024年7月</a></li> <li><a href='https://miofactor.com/2024/06/'>2024年6月</a></li> <li><a href='https://miofactor.com/2024/05/'>2024年5月</a></li> <li><a href='https://miofactor.com/2024/04/'>2024年4月</a></li> <li><a href='https://miofactor.com/2024/03/'>2024年3月</a></li> <li><a href='https://miofactor.com/2024/02/'>2024年2月</a></li> <li><a href='https://miofactor.com/2024/01/'>2024年1月</a></li> <li><a href='https://miofactor.com/2023/12/'>2023年12月</a></li> <li><a href='https://miofactor.com/2023/11/'>2023年11月</a></li> <li><a href='https://miofactor.com/2023/10/'>2023年10月</a></li> <li><a href='https://miofactor.com/2023/09/'>2023年9月</a></li> <li><a href='https://miofactor.com/2023/08/'>2023年8月</a></li> <li><a href='https://miofactor.com/2023/07/'>2023年7月</a></li> <li><a href='https://miofactor.com/2023/04/'>2023年4月</a></li> <li><a href='https://miofactor.com/2023/03/'>2023年3月</a></li> <li><a href='https://miofactor.com/2023/02/'>2023年2月</a></li> <li><a href='https://miofactor.com/2023/01/'>2023年1月</a></li> <li><a href='https://miofactor.com/2022/12/'>2022年12月</a></li> <li><a href='https://miofactor.com/2022/11/'>2022年11月</a></li> <li><a href='https://miofactor.com/2022/10/'>2022年10月</a></li> <li><a href='https://miofactor.com/2022/09/'>2022年9月</a></li> <li><a href='https://miofactor.com/2022/08/'>2022年8月</a></li> <li><a href='https://miofactor.com/2022/07/'>2022年7月</a></li> <li><a href='https://miofactor.com/2022/06/'>2022年6月</a></li> <li><a href='https://miofactor.com/2022/05/'>2022年5月</a></li> <li><a href='https://miofactor.com/2022/04/'>2022年4月</a></li> <li><a href='https://miofactor.com/2022/03/'>2022年3月</a></li> <li><a href='https://miofactor.com/2022/02/'>2022年2月</a></li> <li><a href='https://miofactor.com/2022/01/'>2022年1月</a></li> <li><a href='https://miofactor.com/2021/12/'>2021年12月</a></li> <li><a href='https://miofactor.com/2021/11/'>2021年11月</a></li> <li><a href='https://miofactor.com/2021/10/'>2021年10月</a></li> <li><a href='https://miofactor.com/2021/09/'>2021年9月</a></li> <li><a href='https://miofactor.com/2021/08/'>2021年8月</a></li> <li><a href='https://miofactor.com/2021/07/'>2021年7月</a></li> <li><a href='https://miofactor.com/2021/06/'>2021年6月</a></li> <li><a href='https://miofactor.com/2021/05/'>2021年5月</a></li> <li><a href='https://miofactor.com/2021/04/'>2021年4月</a></li> <li><a href='https://miofactor.com/2021/03/'>2021年3月</a></li> <li><a href='https://miofactor.com/2021/02/'>2021年2月</a></li> <li><a href='https://miofactor.com/2021/01/'>2021年1月</a></li> <li><a href='https://miofactor.com/2020/12/'>2020年12月</a></li> <li><a href='https://miofactor.com/2020/11/'>2020年11月</a></li> <li><a href='https://miofactor.com/2020/10/'>2020年10月</a></li> <li><a href='https://miofactor.com/2020/09/'>2020年9月</a></li> <li><a href='https://miofactor.com/2020/08/'>2020年8月</a></li> <li><a href='https://miofactor.com/2020/07/'>2020年7月</a></li> <li><a href='https://miofactor.com/2020/06/'>2020年6月</a></li> <li><a href='https://miofactor.com/2020/05/'>2020年5月</a></li> <li><a href='https://miofactor.com/2020/04/'>2020年4月</a></li> <li><a href='https://miofactor.com/2020/03/'>2020年3月</a></li> <li><a href='https://miofactor.com/2020/02/'>2020年2月</a></li> <li><a href='https://miofactor.com/2020/01/'>2020年1月</a></li> <li><a href='https://miofactor.com/2019/12/'>2019年12月</a></li> <li><a href='https://miofactor.com/2019/11/'>2019年11月</a></li> <li><a href='https://miofactor.com/2019/10/'>2019年10月</a></li> </ul> </aside> </div> <!-- /l-sidebar --> </div> <!-- /l-wrapper --> <div class="categoryBox"> <div class="container"> <h2 class="heading heading-primary"> <span class="heading__bg u-txtShdw bgc-darkgray">OTHER</span>カテゴリの最新記事 </h2> <ul class="categoryBox__list"> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/21/post-36942/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/js-554x410.png" alt="JavaScript関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.21</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/21/post-36942/">JavaScript関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/21/post-36944/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/java.jpg" alt="JAVA関連のことを調べてみた" width="540" height="270" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.21</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/21/post-36944/">JAVA関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/21/post-36946/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/ios-554x410.png" alt="iOS関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.21</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/21/post-36946/">iOS関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/21/post-36940/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/rails-725x410.png" alt="Rails関連のことを調べてみた" width="725" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.21</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/21/post-36940/">Rails関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/21/post-36936/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/lambda.png" alt="Lambda関連のことを調べてみた" width="360" height="230" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.21</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/21/post-36936/">Lambda関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/21/post-36937/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png" alt="Python関連のことを調べてみた" width="640" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.21</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/21/post-36937/">Python関連のことを調べてみた</a> </h2> </li> </ul> </div> </div> <!-- schema --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Article ", "mainEntityOfPage":{ "@type": "WebPage", "@id": "https://miofactor.com/2020/11/18/post-8773/" }, "headline": "PHP関連のことを調べてみた2020年11月18日", "image": { "@type": "ImageObject", "url": "https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png", "height": "410", "width": "640" }, "datePublished": "2020-11-18T11:50:32+0900", "dateModified": "2020-11-18T11:50:32+0900", "author": { "@type": "Person", "name": "editor" }, "publisher": { "@type": "Organization", "name": "f@ctor", "logo": { "@type": "ImageObject", "url": "", "width": "", "height":"" } }, "description": "目次 0.1. 炎上している件とは関係ないけどforとforeachの違いをまとめてみた0.2. YouTube Data API v3 クォータ制限について1. 突然、YouTube Data API v3 で取得していた動画情報が取得できなくなってしまった2. 1.原因の調査2.1. Laravel で「Server error: GET http://cabinet.laravel.com/ […]" } </script> <!-- /schema --> <!--l-footer--> <footer class="l-footer"> <div class="container"> <div class="pagetop u-txtShdw"><a class="pagetop__link" href="#top">Back to Top</a></div> <div class="widgetFoot"> <div class="widgetFoot__contents"> </div> <div class="widgetFoot__contents"> <aside class="widget widget-foot"><h2 class="heading heading-footer">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside> </div> <div class="widgetFoot__contents"> </div> </div> <div class="copySns "> <div class="copySns__copy"> © Copyright 2024 <a class="copySns__copyLink" href="https://miofactor.com">f@ctor</a>. <span class="copySns__copyInfo u-none"> f@ctor by <a class="copySns__copyLink" href="http://fit-jp.com/" target="_blank">FIT-Web Create</a>. Powered by <a class="copySns__copyLink" href="https://wordpress.org/" target="_blank">WordPress</a>. </span> </div> </div> </div> </footer> <!-- /l-footer --> <script type="text/javascript" src="https://miofactor.com/wp-includes/js/comment-reply.min.js?ver=6.4.1" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script> function toggle__search(){ extra__search.className="l-extra"; extra__menu.className="l-extraNone"; menuNavi__search.className = "menuNavi__link menuNavi__link-current icon-search "; menuNavi__menu.className = "menuNavi__link icon-menu"; } function toggle__menu(){ extra__search.className="l-extraNone"; extra__menu.className="l-extra"; menuNavi__search.className = "menuNavi__link icon-search"; menuNavi__menu.className = "menuNavi__link menuNavi__link-current icon-menu"; } </script><script>Array.prototype.forEach.call(document.getElementsByClassName("css-async"),function(e){e.rel = "stylesheet"});</script> </body> </html>