Archive "2017年6月"を表示しています。
2017.6.29 木
.envは便利です。環境依存するものはここに記述しておくというルールが作れるので非常によいです。だいたいみんな好き勝手にconfig作り出す輩が必ずいるもんで。 5.4ではこの方法で取得できましたが、ちょっと古いのだとオブジェクトから取得するようになっていたかもです。 (しかし.envも独立したパーツなんですね。https://github.com/vlucas/phpdotenv env(); .envで設定した値はenv(“APP_ENV”);という感じで取得できます。どのコントローラでも基本的には取得できる筈です。 echo env("APP_ENV"); という感じ。 env()で値が取得できない ちゃんと設定しているのにNULLが返ってきたり空だったりします...
2017.6.27 火
以前にちょっと記事を書いたのですが、5.4でもう一度復習です。ここら辺りはアプリケーションのコアになるので勉強していた方がよいかと思います。 とはいえ認証機能は結構厄介です。というのも選択肢がたくさんあるのと自由にカスタマイズが出来すぎてしまうので、後から保守する人は本当に大変です。 Laravelは非常に便利なコマンドartisanがあるのですが、便利すぎていろいろなことを一度にやってしまうことからGitなどでこまめに見ておくのがおすすめの開発方法です。 認証機能の準備 とりいそぎ認証機能の雛形をartisanで作ります。 (※まだデータベースのマイグレーションを行っていないひとは、Laravel5 モデルとマイグレーションを参考にしてマイグレーションを行ってください。「php artis...
2017.6.26 月
シンボリックリンク ln -s ./top/index.html ./index.html ln -s <実体ファイルパス> <シンボリックリンクのファイルパス>という風になっています。-sオプションを忘れずに。 毎回忘れるんだけど、手前が実体ファイル、後ろがリンク。 ハードリンク ln ./top/index.html ./index.html iノードの説明とかしません。 hard link not allowed for directoryというのが出るときがあるんですが、「ディレクトリ」「異なるファイルシステム間」「異なるパーティション間」ではリンクを作成することができません。
2017.6.26 月
MariaDBはMySQLとあんまりかわらないです。というか殆ど同じということでよいのではないかと思います。が、いずれちょっとづつ大きく変わるのだと思うわけです。 version comment MariaDB5.5シリーズ MysQl5.5までをサポート MariaDB5.5シリーズ MysQl5.5までをサポート MariaDB10.0シリーズ Mysql5.6を取り入れ、MariaDB独自機能があり。 MariaDB10.1シリーズ Mysql5.7を取り入れ、MariaDB独自機能あり。 ということになっているので、CentOS7では5.5シリースをyumでインストールしてしまうのが今のところ懸命ということになるでしょうか。 MariaDBをyumでインストール パッケージを見てみる...
2017.6.25 日
バージョン管理ツールとしてGitはかなりのスグレものであるのは間違いないのですが、使い方を間違っている人を何人か見てきたのでちょっとコメント。 Gitはアップローダーではない Gitを使って作業をしている際にこのツールを完全にアップローダーだと思っている人がいるのです。いにしえの FTPアップロードを思い出せば事足りると思うのですが、どうやらpushしてファイルアップをしているようでした。世の中には様々なアップローダーがあります。JAVAベースのチームサイトとか何かはファイルを本番化する際のアップローダーであります。またアップローダーと似たような機能では「同期」させることもあります。環境依存するパラメーターのみ同期せずにその他のファイルは完全に同期させることで新しい機能を追加してゆくというこ...
2017.6.20 火
resources/views/errors/STATUS.blade.phpをつくってあげるとそのまま表示してくれるという便利なLaravelです。404は当然、500と403はいつも普通に使うとして419はというとLaravelのCSRFトークンのセッション切れの際に飛ばされるステータスです。 resources/views/errors/403.blade.php resources/views/errors/404.blade.php resources/views/errors/419.blade.php resources/views/errors/500.blade.php 500の表示は本番モードみたいなやつにしないと駄目で、デフォルトではデバックモードになっています。まずは...
2017.6.20 火
リクエストから取るのがいいのかなと思ってます。少なくともスパーグローバル変数は使わない方がよいという感じでしょうか。 public function sample(Request $request) { $request->session()->get("key"); // 取得 $request->session()->put("key", "value"); // 保存 $request->session()->forget("key"); // 削除 $request->session()->flush(); // 削除 $request->session()->flash("key", "value"); // 一時保存(フ...
2017.6.15 木
/** * [区分]クラスの概要 * * クラスの詳細 * 出来るだけ細かく書いたほうがよいが、詳細な説明は各メソッドに任せる。 * 全体での共通ルールとか仕様を書く。 * * @access アクセスレベル * @author 名前 <メールアドレス> * @copyright 会社名 All Rights Reserved * @category カテゴリー(処理系) * @package パッケージ(MVC) */ /** * [API]メッセージ送信系APIコントローラークラス * * メッセージ送信に関するAPIをまとめたコントローラークラス。 * エンドポイント単位でメソッドを定義する。 * * @access public * @author itosho <...
2017.6.11 日
SMTPサーバの設定 Laravelからメール送信するには、.envで送信メールサーバの設定をしておきます。phpのsendmail(mb_sendmailかな。)を使う場合は、MAIL_DRIVERをmailで設定します。 ここではGmailのSMTPを使った設定をします。自分のGmailアカウントに合わせて設定しておきます。 # .env 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@example.com MAIL_...
2017.6.11 日
デフォルトでもSymfonyのデバッカーみたいなものがありますがあんまり詳細な情報が出ないので、Laravel専用のデバッカーを入れてみます。 (デバッカーでいうとCake3はデバッカーだけは強力だったと思う。) github: /barryvdh/laravel-debugbar packagist: /barryvdh/laravel-debugbar Composerでインストール php composer.phar require barryvdh/laravel-debugbar --dev インストール時の最後に最適化までやってくる。 composer install これで入ったっぽい。composer.jsonとcomposer.lockにいろいろ追加されます。 あれ?Lar...
2017.6.9 金
このコマンド mysql> show table status like 'test_table'\G *************************** 1. row *************************** Name: test_table Engine: InnoDB Version: 10 Row_format: Compact Rows: 2875 Avg_row_length: 552 Data_length: 1589248 Max_data_length: 0 Index_length: 0 Data_free: 25165824 Auto_increment: 5148 ←ここ Create_time: 2017-06-09 12:05:53 Upd...
2017.6.6 火
日本の祝日API Googleカレンダーの祝日を返すAPIを使うのがいちばんよさそう。 LaravelとかSymfonyのvenderに入れられるように開発するのがベスト。 リクエスト(返値: 配列)とAjax(返値: JSON)で取得できるのがよいかも。 Sign up / Sign in / Sign out / Unsubscribe / Invite 新規登録、ログイン、ログアウト、退会、招待。
2017.6.5 月
インストール リポジトリの調整しなくても2.4が入ってくれるっぽいです。 yum -y install httpd これで完了。 httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Apr 12 2017 21:03:28 なるほど。 Firewallやiptablesを無効にしていればこの時点で80がListenされます。 IPなどでアクセスするとApacheのWelcomeページが表示される筈です。 httpd.confの設定 以下を例に設定します。基本的には/var/www/htmlは使いません。すべてバーチャルホストで設定します。 Domain port host1.example.com virtualhost ...
2017.6.5 月
isset()は謎が多い。 PHP Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in ~ とにかく何を評価しているんだか全然わからないです。ちなみにエラーにある”null !== $xxx”もさほど使えません。 isset()の代用として!empty()がまだ使えそうです。 if (isset($xxxx)) {.... 改め if (!empty($xxxx)) {.... という感じですかね。 PHPのissetの罠 PHP 定数の有無を確認したい。
2017.6.4 日
フロントの実装を殆どしていない数年間でだいぶajaxの実装方法が変わってきたのでびっくりです。新しめのjQueryではだいぶ書き方が変わっていました。 $.ajaxの基本形 成功時と失敗時のリターンはdone()とfail()で取得するのがいいみたいです。jQuery 1.8以上の書き方になるようです。 ajax.phpではPOSTをうける何らかの処理をしておくわけですがここでは割愛。 $.ajax({ type: 'POST', url: "/ajax.php", }).done(function(data) { alert('success!!'); }).fail(function(data) { alert('error!!!'); }); 実用的なところまで書くとこんな感じか。JS...
2017.6.3 土
Laravelの開発時にpullしたりすると動かないときがあります。キャッシュ消したりいろいろやるわけですが、新しく追加したクラスなどなどうまいこと登録されていないことがあるので最適化してやらないとダメなときがあります。 デプロイ時にも同じような処理をしてあげるといいです。 最適化・高速化? // Laaravelのディレクトリに移動して.... php composer.phar dump-autoload php artisan clear-compiled php artisan optimize 各種キャッシュのクリア php artisan config:cache php artisan route:cache php artisan view:clear php artisan...