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

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

Moodle 3.7 マニュアル – Git ガイド

Git ガイド

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

このページは、あなたの本番サーバの Moodle のコピーを Git により楽にアップグレードして保存する方法について記述しています。Moodle のコアなコードをカスタマイズしているのなら、[Git for developers guide](http://docs.moodle.org/dev/Git_for_developers) の手順にしたがうことが推奨されます。

Git を最大限に活用するには、その基本的な概念を理解する用に努力するのは価値があります。以下の章を参照してください。もしあなたが、CVS や Subversion を使ってたのなら、あっという間に理解できるようになると思います。

内容

[1 Git について把握する(Windows, OSX, Linux その他)](#1-git-について把握するwindows-osx-linux-その他)
[2 Git からコードを得る](#2-git-からコードを得る)
[3 Gi

元記事を表示

Laravel 6.5で追加されたメソッドを試してみた

# 参考

[Laravel v6.5.0 released](https://blog.laravel.com/laravel-v6-5-0-released)

私はLaravel初心者です。間違いなどありましたら教えていただけるとありがたいです。

# `LazyCollection::remember()`

https://github.com/laravel/framework/pull/30443

`remember()`を呼び出すと、コレクションの列挙を記憶する新しいLazyCollectionが返されます。

DBから取ってきた値をキャッシュして使いまわすことができる。

“`php
// LazyCollectionの例
$todos1 = Todos::cursor();
$todos1->all(); // データ取得
$todos1->all(); // データ取得

// LazyCollectionからremomberを呼び出した例
$todos2

元記事を表示

【PHP】Laravel 学習メモ / フレームワーク構成の概念 さわり

PHPのフレームワークの1つであるLaravelについて、その仕組みを理解したいと思い構成について調べたのでざっくりメモ。まだ勉強中なので、また改めて上手く纏めたい。
今回は、機能の意味や目的などを書きます。

[Laravelドキュメント](https://readouble.com/laravel/)

目次:
1、ライフサイクル
2、サービスコンテナ
3、サービスプロバイダ

#1、ライフサイクル
####1、アプリケーションに対するリクエストは、全てpublic/index.phpファイルが入り口となる。

index.php:
1-1、composerが生成したオートローダーの定義をロード
1-2、bootstrap\app.phpスクリプトからLaravelアプリケーションのインスタンスを取得

Illuminate\foundation\applicationがインスタンス化

####2、kernelが生成される
HTTPリクエスト情報からRequestインスタンスを生成し、handleメソッドに渡す。

handleメソッド:
Requestを受け取り、Respon

元記事を表示

PHPのissetと!is_nullを勘違いしていた

PHPのisset()と!is_null()は同じだと思っていました。
[PHPの公式](https://www.php.net/manual/ja/types.comparisons.php)にも、逆の条件として載ってますし。
!isset()って書いてる人がいたら、is_null()の方が良くない?とコメントしていました。

しかし、is_null()でエラーが出ていて、isset()でエラーが出ていないことに気付き、よく調べてみると、

> 注意: これは、関数ではなく 言語構造のため、可変関数 を用いて コールすることはできません。

[PHP: isset – Manual](https://www.php.net/manual/ja/function.isset.php)

isset()は、関数ではなく言語構造。
empty()とかと一緒でエラーが出ないようです。

エラーが出る可能性がある時は、isset()を使うようにしましょう!

ちなみに、細かい所では、こういう違いもあるようです。
・ isset()と!is_null()の値は常に等しいか
https:/

元記事を表示

Laravel の LTS のアップグレード(5.5->6.x)を細かくみてみる

## 概要
Laravel の LTS が “`5.5“` から “`6“` に上がったので、既存の Laravel5.5 アプリケーションをアップグレードしたところ、これホントに6?と思ったので、詳しく見てみた。
先に結論としては、だいたい“`6“`だけど“`6“`じゃない。です。

## 検証環境
– MBP 13-inch, 2017
– macOS Mojave v10.14.6
– PHP version: 7.3.11
– Composer version: 1.9.1

2019年11月7日に実行

## 手順
1. “`5.5“`と“`6“`をそれぞれ用意する
2. “`5.5“`に修正を加え“`6“`にアップグレードする
3. “`5.5“`から“`6“`にアップグレードしたものと、“`6“`を比較する

## 1. “`5.5“`と“`6“`をそれぞれ用意する
Composer で “`5.5“`と“`6“`を用意する。

“`
$ composer create-project –prefer-di

元記事を表示

【PHP】is_nullもissetもemptyも絶妙に微妙なので、”is_nullorempty”を自作しよう

# はじめに
先日、Twitterでこんな投稿をしました。