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

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

【PHP】Laravel / classの名前空間とuse宣言

#クラスの名前空間とuse宣言
Controllerの最初に書きます。

名前空間: ファイルの場所を示す
use宣言: 中で使うファイルを宣言

“`

“`

例:

“`

“`

元記事を表示

【PHP】Laravel / ControllerからViewへ値を渡す方法

#ControllerからViewへ値を渡す方法

“`
//SampleController.php


“`
または、

“`
//SampleController.php

‘Tom’]);
}
?>
“`

###compact関数を使用

“`
//SampleController.php

“`

###withメソッドを使用

“`
/S

元記事を表示

【74日目】Cloud9 PHP7.3でパーフェクトPHP6章〜8章 実況解説【実況1日目】 

# パーフェクトPHPを現代版にアップデートしたい
フレームワークの自作などを学べるというパーフェクトPHPの6章〜8章
しかしながら本が古いこともあって、1章の環境構築やPHPバージョンの違いによって戸惑いが生じました。

名著と言われる書籍ですから、今後も学ぶ方々は多いと思います。

そこでこの名著を、誠に勝手ながらAWS Cloud9環境でPHP7.3にバージョンアップし、学習の一部始終を「実況形式」で解説していきたいと思います。
イメージとしては、この一連のQiitaを見れば、progateの次の教材として誰でもパーフェクトPHPが学べてしまう!!
そんな感じを目指します。

実況なので、逐次的に解説します。
エラーでつまづいたらそれを報告します。
エラーを解決したらその方法をシェアします。
お役に立てましたら嬉しいです。

# 0 はじめに Progateの次段階のPHP教材を目指す
## 0.1 本稿の目的

– 他者に見せられる学習記録として
– 自分用の備忘録として
– これからパーフェクトPHPを学ぶ人の参考として残すため
– progateの次の段階のPHP教材とな

元記事を表示

Moodle 3.7 マニュアル – インストールFAQ

[原文](https://docs.moodle.org/37/en/Installation_FAQ)

# インストールFAQ
##### トップ
内容

[1 Installation problems forum にはシステムの情報が必要です](#1-installation-problems-forum-にはシステムの情報が必要です)
[2 PHPはインストールされていてバージョンはいくつですか](#2-phpはインストールされていてバージョンはいくつですか)
[3 Moodle 2.x のインストールを続けるには intl php plugin が必要だと言われた](#3-moodle-2.x-のインストールを続けるには- intl-php-plugin-が必要だと言われた)
[3.1 どんな Dynamic Extensions について php.ini ファイルでコメントアウトしなければいけないですか他に変えるべきところはありますか](#31-どんな-dynamic-extensions-について-phpini-ファイルでコメントアウトしなければいけないですか他に変える

元記事を表示

[PHP]Laravel6でmake:authするには

## 内容
Laravel6では、5系までで使えていたmake:authが使えない
実行すると以下のように「そんなコマンドはないよ」と言われてしまう…

“`bash
kusumoto-t: sample$ php artisan make:auth
Command “make:auth” is not defined.
Did you mean one of these?
make:channel
make:command
make:controller
make:event
make:exception
make:factory

元記事を表示

【PHP】インターフェイスの使い方がよくわからない人向け

「クラスはなんとなくわかるけどインターフェイスが良くわからない。」
「インターフェイスの名前は知っているけどいつ使うのかがわからない。」という方向けに
とりあえずオブジェクト指向とか難しそうな話は置いといて、
インターフェイスがどういうものなのかを、ざっくり、自分なりに説明してみました。

[追記しました](https://qiita.com/tkek321/items/a6112bc195b73438a9b0#%E8%BF%BD%E8%A8%98)

# 広義のインターフェイスとは

[インターフェース-Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9)
[インターフェイス (interface)-わわわIT用語辞典](https://wa3.i-3-i.info/word11374.html)

`インターフェイス`とは、おおよそ「界面、接触面、中間面」という意味があるようです。

`ユーザーインターフェ

元記事を表示

LaravelでDIしてみた。

# 背景
最近開発しているプロジェクトでDIっぽい事をしているが、あまり理解していないのでDIの概要やDIコンテナについて説明していきます。

# 環境
– PHP 7.1
– Laravel 5.8

# DIについて
wikiによるとDependency Injectionの略で依存性の注入と言う意味で、依存関係にあるオブジェクトを外から注入するデザインパターンの一種

> **依存性の注入**(いそんせいのちゅうにゅう、英: Dependency injection)とは、コンポーネント間の依存関係をプログラムのソースコードから排除するために、外部の設定ファイルなどでオブジェクトを注入できるようにするソフトウェアパターンである。英語の頭文字からDIと略される。
引用元 : [依存性の注入 -Wikipedia](https://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3%A8%E5%85%A5)

# 依存関係を解決する
DIにはコンストラクタインジェクション、セッターインジェクション、メソッド

元記事を表示

【755】トークルームに投稿された画像を全てを取得するPHPプログラムの作成

#概要

スマートフォン向けアプリケーションソフト「755」のトークルームに投稿された画像と動画のサムネ画像を全て取得するPHPプログラムの作成

#ソースコード

“`php5:download_755_imagefile.php

元記事を表示

EC2のLaravel6.0環境でメールを定期配信するタスクスケジューラを作成する AWS/Laravel連載(17)

# はじめに

前回の記事で、コマンドライン上からメール配信できるシステムができました。

[EC2のLaravel6.0環境でメール配信コマンドを作成する AWS/Laravel連載(16)](https://qiita.com/rf_p/items/036ac4cdb0796ceb2fa2)

# 確認ダイアログ挟まずメール配信できるオプションを追加する

前回の記事ではメール配信時にyes/noの確認を挟んでいました。
Cron実行しようとするとその機能は少々邪魔なので、確認挟まず送信するオプションを用意しましょう。

“`diff:app/Console/Commands/SendEmails.php

– protected $signature = ‘email:send {user : ユーザーIDを指定}’;
+ protected $signature = ‘email:send {user : ユーザーIDを指定} {–f : 確認を挟まず送信する}’;

– if ($this->confirm($user->name .

元記事を表示

EC2のLaravel6.0環境でメール配信コマンドを作成する AWS/Laravel連載(16)

# はじめに

前回でMailgunを使いメールの配信ができるようになりました。

[EC2のLaravel6.0環境で記事投稿時にメールMailgunを使いメール送信する AWS/Laravel連載(15)](https://qiita.com/rf_p/items/4d774e139b433c4a7753)

実際のサービスでは、宣伝メールや重要なお知らせをユーザーに一括配信することもあるでしょう。
コマンドライン上でユーザーに一括配信する仕組みを今回は作っていきます。

[公式ドキュメント](https://readouble.com/laravel/6.0/ja/artisan.html)を参考にしつつ、いろいろ独自実装で進めていきます。

# ファイル作成

“`powershell
$ php artisan make:command SendEmails
“`

実行すると、app/Console/Commands/SendEmails.php というファイルが生成されます。

次にMailableクラスを作ります。前回作ったのと同じ手順ですね。

“`powers

元記事を表示

Laravel6.0 で バリデーションをサーバ側とクライアント側(bootstrap4 + jquery validate)で行ってみたメモ

## 概要

[前回](https://qiita.com/hibohiboo/items/18810b64b8d92940d3b2)は一覧と作成ができることを確認した。
今回は、bootstrap4とjquery validationを使ったフロントのバリデーションも行った。

## Form用ライブラリのインストール

bladeでFormを扱うのが楽になるライブラリを導入した。

“`
composer require laravelcollective/html
“`

## Laravelでのバリデーション
### migration用ファイルの作成

今回作成するマスタのテーブルを作成するモデルを作成。

“`php

元記事を表示

Apache で PHP と http2 を両方利用するための MPM の選択

# おことわり

当方は専門家ではなく、自身の経験や Google に頼った結果を基にこの記事を書いています。誤りが含まれる可能性が大いにありますので、この記事の内容は参考程度に留めるようお願いします。また誤りを発見された場合はお手数をおかけしますが編集リクエストよりご指摘いただけると幸いです。

# MPM の種類

Apache には現在 `prefork` `worker` `event` の3つの MPM が存在する。それぞれの違いについては [こちら](https://milestone-of-se.nesuke.com/sv-basic/linux-basic/apache-mpm-prefork-worker-event/) などを参考にされたし。

# それぞれの対応

| MPM の種類 | PHP の利用 | http2 の利用 |
|:———-|:———–:|:———–:|
| prefork | ◯ (mod_php) | × |
| worker | △ (※) | ◯

元記事を表示

Moodle 3.7 マニュアル – アップグレード概要

[原文](https://docs.moodle.org/37/en/Upgrade_overview)
# アップグレード概要

Moodl の最新で最高のバージョンの素敵な機能を次の 4つの簡単なステップでを楽しみましょう。

# ステップ1: あなたのサーバで Moodle 3.7 が動作するか確かめる
(注: 3.7 にアップグレードするには、少なくとも Moodle 3.2 にアップグレードする必要があります。)

Site administration > Server > Environment に行ってください。

ステータスは全て OK ですか? 素晴らしい!では、ステップ 2 に、
何か問題がありますか? サーバのソフトウェア(PHP のような)をもっと最近のバージョンにアップグレードする必要があるかもしれません。

# ステップ2: 準備しよう!

いつもの大きなアップグレードのように、あなたのデータ、あるいはあなたが追加済みのカスタムコードに何か問題があった時のために、常に “ロールバック” に備えるべきです。

A test install
__テストインス

元記事を表示

PHPで緯度経度から8分の1メッシュコードを取得する

PHPで8分の1メッシュコードを取得する関数を作成しました

“`php
function calculateMeshCode($lon, $lat){
$p = floor(($lat * 60) / 40);
$a = fmod($lat * 60.0, 40);
$q = floor($a / 5);
$b = fmod($a, 5);
$r = floor(($b * 60) / 30);
$c = fmod($b * 60, 30);
$s = floor($c / 15);
$d = fmod($c, 15);
$t = floor($d / 7.5);
$e = fmod($c, 7.5);
$tt = floor($e / 3.75);

$u = floor($lon – 100);
$f = $lon – 100 – $u;
$v = floor(($f * 60) / 7.5);
$g = fmod($f * 60, 7.5);
$w = floor(($g * 60) / 45);
$h =

元記事を表示

【WordPress】ACFを使用し、チェックリストとテキストエリアの内容を足した文章を、特定の文字数以降は省略して表示する

##なにこれ?
個人的なメモ。
ACFで作った花名をチェックリストで選択し、リストにない花名が合った場合は「、」の後に「その他の花名テキスト」を表示。
PCの時のみ、2行を超えたら「…」で省略。
しっかり自分で書いたの初めてかもしれないので、見ちゃった人は生暖かい目で見て・・・でも間違ってたら教えて下さい。

##コード

“`php:ファイル名.php

元記事を表示

LAMP環境をソースインストールする(PHP5.6.40編)

* PHP (バージョン5.6.40)をソースからインストールします。
* 前回のURL(ApacheのソースインストールのURL:https://qiita.com/Cch4n/items/38d72278b629e7eaf16a)
前回に引き続きPHPをソースからインストールします。途中、再インストール等していますので、一発でソースインストールしたい方は一度すべて目を通していただけますと幸いです。

– PHPの依存関係にあるライブラリのインストール

参考にしたURL:http://php.net/manual/en/install.unix.apache2.php
公式のURL:http://php.net

– libxml2
XMLを解析・操作するC言語のライブラリです。

公式のURL:http://www.xmlsoft.org/

カレントディレクトリは/usr/local/srcです。

元記事を表示

保存版 JavaScript <=> PHP の文字列操作対応リスト

フロントエンドとバックエンドにおいては分業が当たり前のこのご時世ですが、僕はちょうどお互い半々で仕事を頂けているので備忘録も兼ねて対応表を作成しました。

普段自分が担当している分野の反対側を扱わなくてはならなくなったときや、一人でフロント・バック両方開発するとき、もしくは暇つぶしにどうぞ。

※目次・各項目に書いてあるコードは __JavaScript__, __PHP__ の順です。

# 追加・結合

## 結合 “`’hoge’+’fuga’“`, “`’hoge’.’fuga’“`

“`sample.js
‘hoge’+’fuga’;
//’hogefuga’
“`

“`sample.php
‘hoge’.’fuga’;
//’hogefuga’
“`

最も基本的かつよく使う文字列を繋げる処理ですが、この時点で JavaScript と PHP の差を感じます。

普段 JavaScript を使用している開発者には違和感を感じる「.」での連結ですが、これは PHP が Perl に影響を受けて開発されたことによるものと思われます。
[PHP 公式マニュ

元記事を表示

ダブルクオートを使う必要がある場合

ダブルクオートを使う必要がある場合

“`
# htmlタグの属性指定
aaa

# シングルクオートを表示したいとき
$text = “わたしは'” . $name . “‘です”;

# テキストに変数を内包させるばあい
$text = “わたしは$nameです”;
“`

元記事を表示

コードシェア用

“`classes/User.php
conn->query($sql);

if($result>num_rows == 1){
$row=$result->fetch_assoc();

元記事を表示

【月額400円~】安くてカンタンが売りの Amazon Lightsail に Laravel 環境を構築して最安運用する手順

# TL;DR

* AWSでLaravelするのに必要なコストは **400円/月**。
* 月額$3.5のLightsailインスタンス1台に、PHP/LaravelとMySQLを入れる手順です。
* インストールの待ち時間を含めて **20~30分くらい**

# Amazon Lightsail とは?

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129854/2f4ff7e9-c2e4-949d-17b8-334298c6a57d.png)

* 最安値AWS。EC2を1台使うより安い。
* レンタルサーバーと同じ価格帯で使える VPS。
* AWS史上最もカンタンにサーバーが立ち上げできる。EC2やRDSの構築をカンタンにしたBeanstalkよりもさらにカンタン。
* あの転送料も完全コミコミプラン。「AWSは**従量課金だから実際使うまで料金がわかんない**よね」がない。\$3.5と言ったら \$3.5以上取らない。※注:上限はあります

EC2やRDSをカンタンに

元記事を表示

OTHERカテゴリの最新記事