PHP/Elixirエンジニアのブログ

有益なアウトプットを心がけます。

【Elixir】基礎文法 - その壱 -

Elixirスクリプトの実行 n = 1 n = n + 1 IO.puts n #出力結果 # 2 変数 まず、1行目。 n = 1 nは変数です。 Rubyとは異なりElixirにはローカル変数、インスタンス変数、クラス変数などの種類は有りません。変数名にはスネークケースを使用します。 続いて、…

【Laravel】値をチェックするためのメソッド

Laravelには引数の値が正しいか チェックするメソッドがあります。 assertTrue(値) assertFalse(値) 引数の真偽値をチェックします。 assertEquals(値1,値2) assertNotEquals(値1,値2) 2つの値が等しいかどうかチェックします。 assertLessThan(値1,値2) ass…

【Laravel】セッション

セッションとは クライアントとサーバーの接続維持のための 仕組みをセッションと呼びます。 例えるならAmazonで商品ページを移動しても 買い物カゴに情報が消えないように接続を維持することです。 セッション=クッキー+データベース セッションではそれぞ…

【Laravel】withによるEagerローディング

データベースへのアクセス回数を軽減させるために(←N+1問題) withメソッドを利用してデータを取得する方法があります。 withでデータを取得する モデル :: with(リレーション名)->get(); このwithを使うとレコード取得方法が変わります。 1.モデルを取得 2.…

【Laravel】グローバルスコープ

bootメソッドについて 処理の組み込みはモデルが作成される際の初期化処理として実行します。 これは__constructなど使用しません。 「boot」というモデルの初期化専用メソッドを用います。 bootメソッドの基本 protected static function boot() { parent::…

MVCのアーキテクチャ

MVCとは 一言でMVCといっても、人によって解釈が異なりますが一般的にはUIと内部ロジックを分離するデザインパターンのことで model ビジネスロジック view: ユーザーインターフェイス controller: 入力を受け取りmodelとviewへの命令に変換する この3つの…

【Laravel】モデルのスコープ

Laravelに搭載されてるデータベース操作機能で DBクラス,クエリビルダよりも 扱いやすいのが*Eloquent**。 その中から「モデルのスコープ」について まとめていきます。 モデルのスコープとは スコープという言葉は一般的には 全体の中でどこからどこまでの…

【Laravel】クエリビルダ メソッド編

DBクラスよりも簡単にSQLクエリ文を生成できる クエリビルダのCRUDメソッドをまとめます。 検索編 where 引数にフィールド名(=カラム名)と値を指定することで 条件に合致するレコードに絞り込みます。 where(フィールド名, 値); orWhere 複数の条件のどれか1…

【Elixir】見た目はRuby?Elixirってなに?

Elixir(エリクサー)とは elixir[不老不死] ErlangのVM上で動く関数型言語。 コンパイルすることでErlangの実行環境である BEAMのバイトコードを出力する。 出生 ・誕生 2012年 ・作成者 Jose Valim ・主な用途 Webアプリ ・分類 関数型/インタプリタ・コンパ…

【Laravel】クエリビルダ

クエリビルダ SQLクエリ文を生成するために生成された一連のメソッドです。 DB::table 指定したテーブルの「ビルダ」を取得します。 Illuminate\Database\Query名前空間にある BuilderクラスでSQLクエリ文を 生成するための機能を提供します。 $変数= DB::ta…

【Laravel】DBクラスの利用

DBクラスとは Laravelに装備されている 最もシンプルなデータベースアクセス機能です。 このクラスにはデータベースを利用するための 様々な機能が用意されています。 DB::select DBクラスにある静的メソッドで SQLクエリを実行し結果となるレコードを取得す…

 homebrewとは

はじめに いつも使っているMac book。パッケージマネージャーはbrewを使っています。 いつも何気なく使っているbrewですが、よくわかっていないのにネットの情報をコピペ→実行してしまうときがあります。今回はそんなhomebrewについてちょっと調べてみました…

【Laravel】バリデーションの検証ルール

Laravelに用意されてるバリデーションの 主な検証ルールについてまとめます accept 項目がtrue,on,yes,1といった値かどうか確認する url urlの形式で書かれているかどうかを確認する active_url アドレスで指定されたドメインが 実際に有効なものかどうかを…

【Laravel】Redirectorの主なメソッド

ルートおよびactionを指定する ルートの情報設定やコントローラのアクションを指定する場合に使用する。 redirect()->route(ルート名,配列) redirect()->action(アクションの指定,配列) ビューを指定する ビューを指定してリダイレクトします。 アクションメ…

【Laravel】RedirectResponseの主なメソッド

入力データを付加する フォームの送信などの際にリダイレクトを行う場合、 送られてきた値をそのまま付加してリダイレクトします。 $response->withInput() バリデータのエラーを付加する エラーメッセージを付加してリダイレクトする。 引数にはMessageProv…

【PHP】アロー演算子(->) とダブルアロー演算子(=>)ってなに?

PHPを書くさいに頻出する 2つの記号にはおおきな違いがります。 頻繁に出てくるこの演算子を 初学者なりにアウトプットしていきます。 そもそもの「アロー」とは アロー、アロウ、arrow - 矢、矢印を指す英語。 見たまんまですね。 ( ̄ー ̄)o∫ シュッ -> -> …

【Laravel】ミドルウェアの登録

ミドルウェア登録 自身が新たに設定したミドルウェアの利用するには 「app/Http/kerner.php」(HTTPカーネル)で登録が必要になります。 グローバルミドルウェア あるミドルウェアをアプリケーションの 全HTTPリクエストで実行したい場合は、 app/Http/Kernel.…

【Laravel】@slotディレクティブとは

@slotとは コンポーネント利用の際に使うディレクティブ。 {{ }}で指定された変数に値を設定するためのもの。 記述方法 @slot(コンポーネントで設定した変数名) ・・・設定する内容・・・ @endslot @slotを使い、コンポーネントに様々な部品を用意していれば それ…

PHPのバージョンを7.1->7.2へ更新した

Laravelのプロジェクト作成の際にバージョンアップしてくださいとアラートが出たので 7.1から7.2にバージョンあげてみることに。 やったこと phpを入れようとすると、だいたい以下のコマンドが見つかる brew install homebrew/php/php72 しかしhomebrew/php…

DBの正規化

第一正規化 目的はレーブル内データの重複を無くす事である。データに重複が存在しなくなるまでテーブルを分割する。完了した状態を 第一正規形 と呼ぶ。 第二正規化 目的はテーブル内の主キー列以外の列の値が、必ず主キーによって決まるようにすることであ…

ステータスコード

webページを表示させるために、webブラウザはサーバへページを表示してほしいよ!とお願い(=リクエストを送信)をします。このお願い(リクエスト)に対して、サーバは対応する返信(レスポンスメッセージ)をすることでwebページを表示させます。 その返…

ソケット通信とは

ソケット通信とは ソケット インターネットはTCP/IPと呼ぶ通信プロトコルを利用しますが、そのTCP/IPをプログラムから利用するには、プログラムの世界とTCP/IPの世界を結ぶ特別な出入り口が必要となります。 その出入り口となるのがソケット(Socket)であり、…

【Laravel】@include @yield @section

@include() @include は 継承ができません。デフォルト値の設定もできません。変数を渡すことができます。 @yield() @yield は 継承ができません。デフォルト値の設定ができます。 @section() @section()〜@endsection は 継承することができます。例にある…

【Laravel】ディレクティブ一覧

LaravelのBladeには「ディレクティブ」という機能があります。 これは言語における構文のような役割を果たします。 基本的に「@ディレクティブ名」という形で記述して 「@endディレクティブ名」で終了します。 @ifディレクティブ(条件分岐1) 条件分岐(if文)…

【Laravel】モデルのリレーション

複数のテーブルが関連しながら動くプログラムでは、 モデルの「リレーション」と呼ばれる機能を使い テーブルを関連つけて操作します。 リレーションとは テーブルの関連付けを意味します。 Ruby on Railsのアソシエーションと呼ばれる機能と ほぼ同じ機能・…

Blade記述方法

if文 index.php @if ($val === null) <p>NULLだよ</p> @else <p>NULLじゃないよ</p> @endif for文 index.php @for ($i = 1; $i < 10 ; $i++) <p>{{ $i }} 番目</p> @endfor js呼び出し index.php @include('common._script') この_script.blade.phpの中にscriptを書く例: _scrip…

PHPの特徴

PHPという名前の由来 もともとは「Personal Home Page Tools」という名前で 「PHP Tools」と呼ばれていた。 現在は「PHP:Hypertext Preprocessor」という言葉を 再帰的に略したものとされる。 こんな言語 WEBアプリケーションの開発で多く使われる言語。 C言…

【Laravel】リクエストとレスポンス

リクエストとレスポンスとは クライアントからサーバーへアクセスした時 クライアントから送られてきた情報は「リクエスト」 サーバーからクライアントへ返送する情報を 「レスポンス」として扱います。 このリクエストとレスポンスを扱うことが Webサイトの…

【Laravel】ミドルウェアってなに?

MVCアーキテクチャ モデル・ビュー・コントローラがそれぞれ切り離れています。 プログラムの基本部分はコントローラですが コントローラはそれぞれのアクションごとに処理を用意していきます。 個別に処理を作れるという点では優れていますが 全てアクセス…

【Laravel】CSRF対策ってなに?

CSRFとは CSFR(Cross Site Request Forgey) ー直訳→交わる サイト 要求 偽造 偽造?悪いことしようとしてるみたいな単語ですね.... ズバリ、 CSRFとはWEBサイト攻撃のひとつです。 スクリプトなどを使い外部からフォームを送信するもので フォームに大量のコ…