投稿
4月, 2018の投稿を表示しています
Laravel 5.5で超簡単かつシンプルに権限(Roles)を付与する方法
- リンクを取得
- ×
- メール
- 他のアプリ
中小規模のシステムでは 管理者 が複数存在する場面は滅多にない。 あったとしても、同じ 認証 アカウント を使用することが多いので、わざわざデータベースに 権限 用のテーブルを追加してリレーションしたり、新たに 管理者 用のテーブルを追加するほどでもなく、結局追加しても数 アカウント しか使わないのが目に見えている。 一般ユーザーと管理者の2択 先に断っておきますが、この方法は一般ユーザーはそのままで、少数の 管理 アカウント だけに 権限 を付与する方法です。 Laravel には面倒だが比較的簡単に実装できる Multi-Auth ( 複数認証 )や、WordPressのように 権限 ごとに細かく設定できる Policy (ポリシー)を使った 認可 もありますが、今回はそれらを一切使わずに実装します。 アカウントを指定する 管理者 用の アカウント ( メールアドレス )を 設定ファイル に書きます。 .env カンマ区切り で複数指定します。 ADMIN_ROLES=admin@sampledomain.com,example@sampledomain.com ミドルウェアを追加 auth 同様に、 ルート や コントローラー に追加したいので、 ミドルウェア を作成します。 app\Http\Middleware\ChackAdmin.php <?php namespace App\Http\Middleware; use Closure; class CheckAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $admin_roles = explode(',', env('ADMIN_ROLES')); if (!in_array(auth()-...
LaravelのBlade内で現在のページのURLによってCSSを切り替える方法
- リンクを取得
- ×
- メール
- 他のアプリ
例えば、メニューに active や current などの クラス を追加したい、特定のページだけ CSS の クラス を切り替えたくなることが多々あります。 そんな時は、 Laravel の Request::is() 関数を使って条件分岐させましょう。 現在のURLを判定する 使い方はとっても簡単です。 @if(Request::is('admin')) true @elseif false @endif URL が http(s)://www.example.com/home だったら「 true 」、それ以外なら「 false 」を返します。 Blade 内でなければこのように書きます。 if ($request->is('admin/*')) { // } Blade内でCSSの切り替え 今回は CSS の クラス を切り替えることを前提に書いていますが、もちろん他の要素やテキストや画像のコンテンツを分岐するのにも応用できます。 以下は、現在の URL が home の時だけ class="active" を追加する例です。 <li {!! (Request::is('home') ? 'class="active"' : '') !!}> <a href="/home"><i class="fa fa-dashboard"></i> ホーム</a> </li> このような書き方もできます。 <li @if(Request::is('home')) class="active" @endif> <a href="/home"><i class="fa fa-dashboard"></i> ホーム</a> </li> また、 ワイルドカード による パターン 指定もできます。 以下のよう...
商品数45万点以上!日本最大級のショッピングサイトがオープンしました!
- リンクを取得
- ×
- メール
- 他のアプリ
正直なところ安くはありませんが、 豊富な品揃え と 利便性 で勝負します! 食料品から、衣類、電化製品など何でも 販売 しています。 あまりにも種類が豊富なため、より 検索 しやすいシステムを導入し、今後も少しずつ改善していく予定です。 Minory Shop この ショッピングサイト の最大の特徴は、お客様の好みに レイアウト や カラー を変更できることです。 見やすい色に変更したり、上部や左右のメニューを活用して、より快適に ショッピング をお楽しみいただけます。 在庫状況に注意! 注意点としては、販売元が複数存在し、かつ複数のお客様が購入するため、 在庫の更新 が間に合わない場合がございます。 最新の 在庫状況 は、商品詳細ページやカート内の表記ですが、稀に買ったのに実は在庫がなかったという場合もありますので、予めご了承ください。 食べきりサイズのMyホットプレート。1~2人用に最適の大きさ。調理をしながらアツアツを召し上がれ。プレートはフッ素樹脂加工でお手入れ簡単。 MShop | 実りある買い物を! - shop.minory.org
【Linux】wgetで保存場所のディレクトリとファイル名を指定する方法
- リンクを取得
- ×
- メール
- 他のアプリ
既に知っている人の方が多いかもしれませんので、自分用のメモに。 wgetでファイル名を指定する方法 wget で 保存場所 の ディレクトリパス と ファイル名 を指定するには、「 -O 」オプションを使用します。 wget -O [パス]/[ファイル名] [ダウンロードするファイルのURL] 以前紹介した シェルスクリプト に記述している Adminer のファイルを ダウンロード する方法を例に挙げます。 wget -O ./public/adminer.php 【祝!】Laravel 5.5(LTS)のリリース記念として、誰でも簡単にLaravelに触れていただけるように、オンラインエディタである「Cloud9」に自動で環境構築してくれるシェルスクリプトを作成しました!なぜこのスクリプトが必要になるかと言いますと、Cloud9のPHPの標... Cloud9にPHP7.1+Laravel5.5の動作環境を自動で構築するスクリプト - Minory オプション によって様々な方法で取得できますので、こちらもチェケラッ!! 引用: Linuxコマンド集 – 【 wget 】 ファイルをダウンロードする:ITpro リトライ回数を5回に設定してFTPサーバーからファイルをダウンロードする。 wget -t 5 FTPサーバーのdirディレクトリ以下を全て取得する wget -r Webサーバーから5段階までリンクをたどりながらファイルを入手する wget -l 5 -L png画像のみを入手する wget -A .png もっと応用して日付や時間でファイル名を指定したい方はこちら [Linux] wgetで保存先ファイル名を指定 | それなりブログ - blog.kjirou.net
Cloud9でメールが送信できないと思ったらGmailしか許可していない
- リンクを取得
- ×
- メール
- 他のアプリ
Cloud9 で メール を 送信 できずにハマった時のメモです。 Laravel でWEBアプリを開発中にメールを送信しようと、当メールサーバーの情報をそのまま設定ファイル( .env )に書いてもうんともすんとも言わなかった。 調べてみると、 Cloud9 は Google Cloud Engine 上で動いているので、 Gmail 以外は 送信できない とのこと。 cloud9はGoogle Cloud Engineを利用しており、GCEは現在GMail以外のsmtpサーバとの通信を許可していないそうです。 /> 引用: Cloud9でRailsの開発を行っているとメールが失敗する – Qiita Cloud9でメールを送信する Laravel では、以下のように設定すればメールを送信できます。 MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=xxxxxx@gmail.com MAIL_PASSWORD=xxxxxxxxxxxxxxx MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=from@emai.com MAIL_FROM_NAME=Hoge Foo SSL を使用する場合の MAIL_PORT は 465 かな? 参考: Laravel5.1でgmail経由でメール送信 – Qiita 外部を経由して何とか送信する方法はないかと思いましたが、あくまで開発環境なので大人しくGMailを設定してた方が良さそうですね。 簡単にできる方法があれば教えて下さいね。 以上、開発メモでした。