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

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

PHP初心者によるマジックメソッドの理解

#マジックメソッドとは

コンストラクタ「__construct()」等のアンダースコア2つから始まるメソッドで、
基本的には、ある状況において実行されるメソッド。

#主なマジックメソッド
##constructとdestruct
####__construct()
 **インスタンスの生成時**に実行される

####__destruct()
 **プロセスの終了時や、unset()で明示的にインスタンスを破棄した場合に**実行される

##getとset
####__get()
 **アクセスできないプロパティにアクセスした場合に**実行される

####__set()
 **アクセスできないプロパティに対して値をセットした場合に**実行される

##issetとunset
####__isset()
 **アクセスできないプロパティに対してisset()を行った場合に**実行される

####__unset()
 **アクセスできないプロパティに対してunset()を行った場合に**実行される

####isset()
 変数が宣言されていて、NULLでなければ、true
 

元記事を表示

Dockerでメールフォーム開発用コンテナを3分クッキング

## TL;DR

コードだけ読んでいただければよろしいかと。

## 前置き

実はメールフォーム設置だけの案件を意外と多く請けます。なお現在のところPHP率100%です。

今まではローカルの環境構築に `php -S` でローカルサーバー建てて [mailcatcher](https://mailcatcher.me/) に投げてテストしていて、正直これで十分だと思っていますしこれからもこれで行く気がします。軽いし。

しかしながらメイン業務であるフロントエンド開発では、基本としてDocker環境を活用した作業になることが多く、ローカル環境はこれからはDockerだな!というわけでミニマムなメールフォーム開発用コンテナを試し書きしてみたところです。

前置きおわり。

## やってみた

### ディレクトリ構成

“`
/
├ php/
│ ├ php.ini
│ └ Dockerfile
├ html/
└ docker-compose.yml
“`

想定するディレクトリ構成はこんな感じにしました。登場人物も少ないので割と自由に置いて良いと思います。

### dock

元記事を表示

【Laravel】ファサードとは?何が便利か?どういう仕組みか?

# はじめに
Laravelを使っていると
「ファサード」という言葉がちょこちょこ出てきたりします。

ファサードとな何なのか、
何のためにあるのか、
どういう仕組みで動いているのか、
など調べてみたので簡単に解説していきます。


本記事内ではサービスコンテナを利用したコードが多数登場しますが
サービスコンテナ自体の仕組みは解説しません。
サービスコンテナについてはこちらの記事で解説しています。
[【Laravel】サービスコンテナとは?2つの強力な武器を持ったインスタンス化マシーン。簡単に解説。](https://qiita.com/minato-naka/items/afa4b930a2afac23261b)

# 概要
ファサードとは、
クラスをインスタンス化しなくてもstaticメソッドのように
メソッドを実行できるようにしてくれる機能のこと。

こんな風にできる。

“`php
// 通常
$classA = new ClassA();
$classA->methodA();

// ファサード利用
FacadeClassA::methodA();
“`

このイン

元記事を表示

openshift4.3でlaravelする②:Add Storageする

# はじめに

前回まででopenshift4.3上で基本的なlaravel環境は整いましたが
例えばユーザがアップロードしたファイルを保存するなどする場合
laravelの場合、一般的に「`./storage/app/public`」にファイルを格納し
「`./public/storage`」としてシンボリックリンクを張り公開します。

つまりPodのDeployからファイルに変更がある可能性があるわけで
現状だとPodが再Deployされると揮発性なので消し飛んでしまいます。

そこで、このpublicにstorageを追加したいと思います。

前回までの記事
– [openshift4.3でlaravelする](https://qiita.com/imp555sti/items/ad530f671015b64b0af0)
– [openshift4.3でlaravel+MariaDBする](https://qiita.com/imp555sti/items/c3f36e2710fe9bc6c76b)

# ストレージの追加

最終的にはYAMLですべての環境を準備したいところです

元記事を表示

LaravelでCORS(オリジン間リソース共有)を実装する時に躓いたこと

LaravelでCookie認証を実装したかった。
CORS(オリジン間リソース共有)の実装で躓く。
# 参考記事
https://www.hypertextcandy.com/cookie-auth-and-cors-on-universal-nuxt-app-with-web-api

# コマンド、エラー内容
“`
php artisan vendor:publish –provider=”Barryvdh\Cors\ServiceProvider”

Unable to locate publishable resources.
“`
configファイルが生成されなくて困った。

# 解決方法
リポジトリを調べてみたら見つかる。

“`
php artisan vendor:publish –tag=cors
“`
configファイルが生成された。
解決

元記事を表示

React+Laravelでpublicフォルダ内の画像を表示する

#はじめに
React+Laravelでwebサイトを書くぞー!っとなってとりあえずコンポーネントを作ることにしたのですが、そもそもReact初体験で、Reactで画像ってどうやって表示するのかわからなかったのでメモ。

#環境
– docker
– Laravel Framework 6.16.0
– npm 6.12.1

### ディレクトリ構成
“`
├── docker
│ ├── nginx/
│ └── php/
├── docker-compose.yml
└── laravel
├──app/
├──artisan
├──bootstrap/
├──composer.json
├──composer.lock
├──config/
├──database/
├──node_modules/
├──package.json
├──phpunit.xml
├──public/
│ ├──img/
│ ├──h

元記事を表示

Macにxdebugをインストールせずに、VSCode+Remote ContainerでPHP+Laravelのデバッグ環境を構築する

# はじめに

PHPのデバッグを行うには、[xdebug](https://xdebug.org/)が必要です。
しかし、Mac OSのバージョン(Catalina/Mojave)によっては、これをインストールするのが困難です。

Macにxdebugをインストールせずに、PHPのデバッグを実現するために、VSCode+Remote Containerによって環境を構築を行いました。
その手順について説明しています。

# 発生した問題

xdebugインストールを行おうとして・・・下記のように、エラーとなってしまい途方にくれました。

“`shell:install-xdebug
$ pecl install xdebug
WARNING: channel “pecl.php.net” has updated its protocols, use “pecl channel-update pecl.php.net” to update
downloading xdebug-2.9.2.tgz …
Starting to download xdebug-2.9.2.tgz (2

元記事を表示

phpで簡易電卓を作る①

## まずは基本的な機能のみ
2つの数値と四則演算を入力すると計算した値が表示される。

“`index.php




Caluculator

電卓(簡易版)

数字1:
記号:

OTHERカテゴリの最新記事