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

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

【初心者向け】PHPマスター講座 vol.3(代数演算子を学ぼう)

みなさんこんにちは!けいです

今回は「代数演算子」について解説します!!

#【PHPマスター講座】演算子とは

===========================

▶︎演算子(えんざんし)とは何か??

>ひとつ以上の値 (あるいはプログラミング用語における「式」) から別の値 (制御構造が式になるように) を生み出すもの(引用先:PHPマニュアル)

見てもらうとわかるように
マニュアルは「これでもか!」ってくらい

簡単な内容を複雑に書く天才です!

なので、今回は

演算子系で、一番初めに学んでおくべき
【代数演算子】について、一つずつ丁寧に解説していきます!

———————————

###▶︎【代数演算子の「6つの種類」】?
・「+」:「足し算」
・「-」:「引き算」
・「*」:「掛け算」
・「/」:「割り算」
・「%」:「剰余算」
・「***」:「累乗」

———————————

代数演算子って言葉は難しそうですが
基本的には上記「6つの種類」しかありません!

なんだかホ

元記事を表示

【phpbb】javascriptファイルをテンプレートごとに読み込む

##javascriptファイルを特定のテンプレートで読み込みたい#
phpbb3.2.5を使用しています。
ソースを見ると``の直前でjqueryが読み込まれています。
該当ファイルは`./styles/prosilver/template/overall_footer.html`です。
このファイルは基本的にすべてのページのフッター部分で使われています。

で、そのファイルの下の方に`{$SCRIPTS}`という記述があります。

“`./styles/prosilver/template/overall_footer.html


{$SCRIPTS}



“`

テンプレートごとにjavascriptファイルを読み込む場合にここで表示されます。

元記事を表示

Laravel6 Eloquent で複数代入を使用したupdate()の書き方と注意点

初投稿です。
なんか公式のドキュメントに書いていない気がするので書きました。
バージョンはLaravel6で確認してまいすが、5.1~7.*は多分同じ。

# 複数代入とは
こうじゃなくて。

“`
$flight = App\Flight::find(1);
$flight->name = ‘New Flight Name’;
$flight->hoge = ‘New Flight Hoge’;
$flight->save();
“`
こうするやつ。

“`
App\Flight::find(1)->update([
‘name’ => ‘New Flight Name’,
‘hoge’ => ‘New Flight Hoge’,
]);
“`
`update()`を使います。
[$fillableか$guarded](https://readouble.com/laravel/6.x/ja/eloquent.html#mass-assignment)をModelに定義していないとエラーになります。
更新したくない値がリクエストに含まれていても、とりあえずは安

元記事を表示

qiitaの限定公開一覧をわかりやすく

qiitaの限定公開一覧がページネーションされてしまっていてタイトルを探しづらいので、
qiitaのAPIを利用して超簡易的に自分用に一覧を作りました。
{APIトークン} と {自分のユーザ名} の部分だけは書き換えてください。

“`php
{“tags”} as $t){
$tags[] = “[“.$t->{“name”}.”]”;
}
?>


“`

これ

元記事を表示

VSCode+docker-compose+php(xdebug)の環境構築のポイント

# はじめに
ありふれた記事なのではあるが一発では起動できない。。
なので基本的なところは他の記事に譲るとして、必ずデバッグする為のポイントを上げてみた。

## 1. VSCodeにPHPDebugをインストール
インストール後にF5などで`RUN and Debug`を起動してlaunch.jsonを適当に作る。

“`json:launch.json
{
“port”: 19000,
“pathMappings”: {
“/var/www/workspace/php_loach”:”/Users/xxx/workspace/project/php_loach”
}
}
“`
重要なところだけ。
portはxdebugで指定するportと合わせる。webでアクセスするportとは違う。
pathMappingsのディレクトリは、projectのドキュメントルートを指定。dockerとローカルは同じディレクトリを指定。

## 2. サーバ側にxdebugをインストール
Dockerfileでxdebugをインストールする。(詳細は他の記事

元記事を表示

eval(\psy\sh())がローカルちゃんと動かないとき

phpbrewでreadlineつきでphpインストール

“`
phpbrew install php-7.2.28 +default +readline +dbs +fpm
“`

元記事を表示

常に動くLINEBOTにお引っ越し(レンタルサーバ+PHP編)

#今回のモチベーション
前回、[こちら](https://qiita.com/n0bisuke/items/ceaa09ef8898bee8369d)の記事を参考にWikipedia APIを使った、調べものLINE botを作った。

前回の記事
https://qiita.com/shima-07/items/2322598ca5a40cfee47b

だが、

– ngrokを立ち上げている時しか使えないから普段使えない。
– いざ、ngrokを立ち上げるとアドレスが変わってしまうため、Messaging API settingsのwebhook URLを毎度変えないと動かない。

うーん。。。
##### ngrok立ち上げるのめんどくさい! 常に使えるようにしないと意味ないじゃん!
と思ったわけです。だから『常に動くようにしよう!』が今回の動機です。

# 今回やったこと
– 1. まずは [now](https://zeit.co/download) を試してみた
– 2. さくらのレンタルサーバでやることにした
– 3. jsで書いていたものをPHPに書き直した

最終的

元記事を表示

XAMPPのphpmyadminにアクセスした時、HY000/2002が出てアクセス拒否された場合の対処

# 起こったこと
xmappでApacheとMySQLを起動してさてphpmyadmin/index.htmlにアクセスすると
以下みたいなエラーが出てログイン画面すら出ない状態になっていました。
今回行った対応を順に書いていきます。
※この記事ではrootユーザでのログインを行っているが実際の運用ではrootユーザではなく別のユーザを別途定義した方が無難。

![えらー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563268/136443c9-67de-f221-7b1b-9ba64b6cd9d4.png)

# ログイン画面を出す

デフォルトでxmappをインストールした場合、C:\xampp\phpMyAdmin\配下にconfig.inc.phpが置いてあります。
今回はその中の一部を編集する。config.inc.phpを開き、以下の項目があることを確認してください。
何も編集していない状態であればおそらく下記のような状態になっているかと思われます。(これとは違う場合もあるかもしれない)

元記事を表示

PHP 郵便番号と住所を検索 正規表現

#郵便番号か住所で検索

![コメント 2020-03-28 222803.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560686/82cc8efc-5e16-3906-a9c4-f3534ddb6cb4.png)

##内容

郵便番号または都道府県を選択し市町村を入力すると
郵便のデータが検索できます。

10件を超えた場合に”前へ”、”次へ”を押すと各々のページに飛ぶようになっています。

SQL脆弱性があると思いますが、今のところこのまま学習を進めていきます。

“`php
// 変数を設定
$post_num =”;//郵便番号
$area =”;//都道府県選択
$city =”;//市町村
$town =”;//県域
$error1 = [];//エラー文
$error2 = [];//エラー文
$user_data = [];
$abc_data = [];
$query = ”;
$host = ‘localhost’;
$username = ”;
$passw

元記事を表示

実行された全てのSQLクエリをログに出力するLaravelプラグイン

Laravelで新しいプロジェクトを作るたびに毎回似たようなコードを書いている気がしてきたので、プラグインにして公開しました。

https://github.com/ngmy/laravel-query-log-tracker

![Demo](https://ngmy.github.io/laravel-query-log-tracker/demo.gif)

PHP 7.2〜7.4、Laravel 5.6以上、6.x、7.xで動作するはずです。
PHP 7.2〜7.4とLaravel 7.xでユニットテストしています。
PHP 7.3.16とLaravel 7.3.0で実際に動作確認しました。

ログには次の項目が出力されます。

* バインド後のSQL
* バインド変数
* 実行時間(ミリ秒)
* コネクション名

インストール方法はREADMEに書いていますが、Composerでインストールして、(パッケージディスカバリーを使っていない場合は)サービスプロバイダとファサードを`config/app.php`に追加するだけです。

実行時にログを無効化することもできます。

`

元記事を表示

PHP+αでTodoアプリを作る話①

#前回
前回は**Apatch**と**Nginx**を使ってサーバーを構築する記事を書きました。そちらをまだご覧になっていない方はそちらもご覧ください。

#はじめに
以前、筆者はPHPでウェブサイトを作成する記事を作成しました。後で振り返ってみると内容に多くの不備があることに気づきました。(書いていた当時もちょっと無茶かなとは薄々感じていましたが笑)

筆者自身がしっかりとPHPを使いこなせるようにしたいと思ったこと、また、特に何をすべきかわかりにくいPHPを使う初心者の方のお役に立ちたいというのが今回記事を書こうと思った理由です。

長話はさておきさっそく記事を執筆していきたいと思います。

#参考文献
**改訂新版 ゼロからわかるPHP超入門**
https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8BPHP%E8%B6%85%E5%85%A5%E9%96%80-%E6%98%9F%E9

元記事を表示

PHP学習記 #1日目

#queryメソッド
一度だけ使用するSQL文をデータベースへ送信する

#nl2br関数
改行コードをHTMLのbr要素に置換して表示してくれる関数

#disabled属性(HTML)
フォームを入力できないようにする。内容を確認することを目的とする。

#unset関数
一度作成した変数や配列から特定の要素を削除する関数。複数の値の削除も一度に処理することができる。

元記事を表示

【初心者向け】PHPマスター講座 vol.2(変数を学ぼう)

みなさんこんにちは!けいです

今回は「変数」について解説します!!

#【PHPマスター講座】変数とは

===========================
###▶︎変数とは何か??

まず変数とは…
**データを一時的に保存する【箱みたいなもの】**です。

・変数はまず宣言を行い
・宣言した変数に対して値の代入する

基本的にはこの流れで進めていきます!

===========================

###▶︎変数を実践で学んでみよう?(基礎編)

ただ…

変数の説明だけだと
正直イメージがしにくいです。

なので

実際に「**変数を使った計算式**」を見てみましょう!

【計算式】
``
`合計金額は:円になります。`

このように変数名($total)を使うと…

【表示結果】
合計金額は:600円になります。

上記のように結果を出力することができます。

===========================

###?ポイント?

・変数

元記事を表示

PHPのArrayAccessインタフェースをざっくり解説

初心者向け記事。
PHPには、それを実装することでクラスに言語構造レベルの機能を持たせることができるインタフェースがいくつかある。

[定義済みのインターフェイスとクラス] (https://www.php.net/manual/ja/reserved.interfaces.php)

Laravelなどのフレームワークの中でも使われるケースがあり、ソースコードを追ったりする際は知っておく必要が出てくる。今回はArrayAccessインタフェースを例にとって、どのように使われるのかをみていく。

(間違いなどあればご指摘ください…:pray:)

# ArrayAccessインタフェース

PHPのオブジェクトは、`ArrayAccess`インタフェースを実装することで配列のように操作することができるようになる。

“`php
ArrayAccess {
/* メソッド */
abstract public offsetExists ( mixed $offset ) : bool
abstract public offsetGet ( mixed $of

元記事を表示

【Laravel】アロー演算子の読み解き方

#はじめに
最近PHPやLaravelを学習し始めた僕ですが、オブジェクトのメンバ(メソッド、プロパティ)を取得する役割の**アロー演算子**について触れる機会が多くあり、読み解くのに苦労したので自分なりにまとめたいと思います。
初学者が故に間違っている点ありましたらご指摘いただけると幸いです。

#アロー演算子てなんぞや
`->`これです。
右辺に使いたいメソッドやプロパティ。左辺にそれらが置いてあるクラスを記述します。

具体的な使い方としては

“`php
class PostController extends Controller
{
private $post;

  public function __construct(Post $instanceClass)
{
$this->post = $instanceClass;
}

public function index () {
$post = $this->post->all();
}
}
“`
`$this->post` PostContr

元記事を表示

LaravelでDBのカラム(mysql)のコメントの作成・確認方法

# はじめに
当記事は、Laravelのマイグレーションファイルでカラムにコメントをつける方法、およびmysqlでそのカラムにつけられているコメントを確認する方法を書いています。
#経緯
先日、業務内でデータベースのカラムにコメントがつけられていないために、間違った設計を行ってしまったことがありました(自己責任です)。
やはり、テーブル名、カラム名から推測しにくかったり、外部にも同名のカラムがあって、且つ意味するものが違う場合などはカラムにコメントを付けたほうが良いと思います。

## マイグレーションファイルの記述
二行目の`comment()`でカラムにつけるコメントを記述する。

“`migration.php
Schema::create(‘users’, function (Blueprint $table) {
$table->string(‘name’)->comment(‘名前’);
});
“`
##MySQLでの確認方法
“`
show full columns from users;
“`

右端のcommentのところに`名前`と出てますね。

元記事を表示

Yiiのデバッグツールでユーザーを自由に切り替えるSwitchUser

# 概要
Yii2のデバッグツールには、ユーザーを自由に切り替える機能があります。
開発中色々なユーザーで動作確認をしたいときに大変便利です。

## 前提条件
– debugツールバーが使える
– userの設定ができている

## 設定

common/config/main-local.php

“`php5
‘modules’=>[
‘debug’ => [
‘class’ => ‘yii\debug\Module’,
‘panels’ => [
‘user’ => [
‘class’ => ‘yii\debug\panels\UserPanel’,
‘ruleUserSwitch’ => [
‘allow’ => true,
‘roles’ => [‘@’],
],
],
],
],
],

元記事を表示

Yiiのロガーを変更してActiveRecordを見やすくする

# 概要
YiiのデベロッパーツールのログでActiveRecordの中身を出力した時、見にくかったので変更してみました。

## 環境

| |Version|
|:—-|:—-|
| PHP | 7.3 |
| Yii | 2 |

## 変更箇所

vendor/yiisoft/yii2/helpers/BaseVarDumper.php
line.197

“`php
// 変更前のコード
$output = ‘unserialize(‘ . var_export(serialize($var), true) . ‘)’;

// 変更後のコード
$originObj = clone $var;
$output = print_r((array) $originObj, true);
“`

## 出力サンプル

“`
+——+———–+————+————————+
| id | last_name | first_name | email

元記事を表示

YiiのデバッグツールにGitのbranchを表示してみた

# 概要
Yiiのデバッグツールに現在のbranchを表示するようにしてみた。

## デバッグツールのカスタマイズ
[デバッグツールバーとデバッガ](https://yii2-framework.readthedocs.io/en/stable/guide-ja/tool-debugger/#_4)の あなた自身のパネルを作る を元にカスタマイズしました。

### ファイル作成
`yiisoft/yii2-debug/src/panels` に GitPanel.php を作成します。
ベースは [こちら](https://yii2-framework.readthedocs.io/en/stable/guide-ja/tool-debugger/#_4)の ViewsPanel.php。

### 現在のbranchを取得する処理
[PHPで現在のgitブランチを取得する](https://co.bsnws.net/article/78) こちらの記事から処理を実装。

“`php

元記事を表示

phpで、$a~$zの変数についてワンライナーで定義する

# はじめに
このコードはネタコードです。
\$a ~ \$zの変数について、ワンライナーで定義したいと思います。格納する値は5です。

# ワンライナー

“`php
$a = ( $b = ( $c = ( $d = ( $e = ( $f = ( $g = ( $h = ( $i = ( $j = ( $k = ( $l = ( $m = ( $n = ( $o = ( $p = ( $q = ( $r = ( $s = ( $t = ( $u = ( $v = ( $w = ( $x = ( $y = ( $z = 5 )))))))))))))))))))))))));
“`

# 出力すると
“`shell-session
$ php -a
Interactive shell

php > $a = ( $b = ( $c = ( $d = ( $e = ( $f = ( $g = ( $h = ( $i = ( $j = ( $k = ( $l = ( $m = ( $n = ( $o = ( $p = ( $q = ( $r = ( $s = ( $t =

元記事を表示

OTHERカテゴリの最新記事