Archive "2018年5月"を表示しています。
2018.5.31 木
Laravel5 共通クラス(汎用関数)をつくるでは比較的少量の場合というか基礎的な考え方みたいなものなので実践ではあまり役に立たない場合が多いかも。大きなアプリケーションになってくるとこれだと全然足りないわけです。 なのでここではサービスプロバイダーとして複数のクラスを一括で共通で扱える方法を紹介します。 HelperServiceProviderの作成 サービスプロバイダーを作成します。 php artisan make:provider HelperServiceProvider 作成したHelperServiceProviderのregisterメソッドを以下のようにします。 public function register() { foreach (glob(app_path()....
2018.5.25 金
Laravelは値をキャッシュしておくことでより高速にレスポンスできるという機能があります。アクセスの度にSQLフル回転みたいなのはあまりよくないので、更新がない限りキャシュから呼ぶのが適当であったりなど使い方はいろいろです。 キャッシュは新規登録・更新・呼び出し・削除といった感じでいわゆるCRUDです。 キャッシュの種類 apc: APC(Alternative PHP Cache)というPHPの中間コードのキャッシュや最適化を行う拡張モジュールを使用します。php.iniでサイズをちょっと大きくしないといけないときもありますので要注意。 array: キャッシュをしない場合の指定になります。(配列に格納されるわけじゃないです。)これを指定しておくとキャッシュを用いる実装コードがあってもエ...
2018.5.25 金
いろんな方法があるので、あれなんですが、こういう方法がいちばん簡潔。 $someObj = new someClass(); $someObj->{"foo"} = "hoge"; これで追加される。
2018.5.23 水
Vueを使うと普通にコーディングしている限りではjQueryが用なしになってしまいます。jQueryで必要になるのはAjaxぐらいの機能しかなく、それだけの機能のためにjQueryを使うのもなになので、Ajaxは別のエージェントを使うことに自然となってくるわけです。SuperAgentとaxiosで迷うところなのですがFrontのエンジニアに聞いてみたところ、 axios => コーラ SuperAgent => ペプシ・コーラ なのだそうなので、ここではあえてaxiosを使います。 axiosのインストールとセットアップ npmで入れると楽。 npm install --save-dev axios axios@0.18.0が入りました。 Get jsonを取得するだけだったら...
2018.5.23 水
https://jp.vuejs.org/ Vue.jsを触ってみました。Documentがしっかりしているのでほとんど何も準備はいらないです。 Hello Vue! html <div id="app"> {{ message }} </div> vue var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }); Hello Vue!が表示されます。 Bladeとの競合 phpのテンプレートエンジンのblade(主にLaravel)ではvueと同じ{{foo}}という使い方に近いかたちで{{$foo}}を使います。全く質の異なるものですが、同じ記号を使うことで競合しPHPの方でエラーが出てし...
2018.5.16 水
https://atom.io/ Package デフォルトでインストールしておくと便利なPackage common japanese-menu autocomplete-paths minimap auto-update-packages *何故かWindows10でエラー open-recent file-icons language-apache atom-beautify split-diff show-ideographic-space smart-tab-name auto-encoding autoclose-html PHP language-php linter linter-ui-default intentions busy-signal linter-php got...
2018.5.14 月
これらのライブラリは普通のプレーンなPHPでも使えるので重宝しますよ。 jenssegers/agent Mobile Detectのラッパーなんですが、Mobile Detectより人気ある感じになっちゃってますか。これ。 https://packagist.org/packages/jenssegers/agent https://github.com/jenssegers/agent monolog/monolog 普通のPHPでも便利。 https://packagist.org/packages/monolog/monolog https://github.com/Seldaek/monolog nesbot/carbon 時間計算は絶対に使うでしょ。だいたいのアプリで。 http...
2018.5.13 日
## HTMLタグとしてhiddenのinputフィールドごと出力 csrf_field(); ”” というような感じで出力されます。 CSRFトークンのみを出力 csrf_token() “0nB8DKkk882NYOGSIzxvd5aPfxtMaFwV7w3LJ2K6″そのものを出力します。Ajax利用時にmetaタグに埋め込む際などに使います。 session とはいえ、この値は結局のところセッションに格納されています。リクエストから取得する場合は、 $request->session()->get('_token') ファサードをとおして取得する場合は、 use Session; .... $_token = Session::get('_tok...
2018.5.12 土
PHPもセキュリティーがしっかりしてきました。 文字列をハッシュ化する .... use Illuminate\Support\Facades\Hash; .... class someClass { $h = Hash::make("foo"); } 最低限これだけで大丈夫。暗号化したものを保存しておけばよいです。 パスワードを照合 どうしていつの時代になってもパスワードを復号化するって思っている人多いんですかね。 $boolen = Hash::check('foo', $h); 照合できたら1、それ以外は空を返します。 Laravel 5.6 ハッシュ http://www.kaasan.info/archives/3723
2018.5.9 水
できるだけプロダクト環境というか実践に耐えうるnodeサーバーの構築方法です。バージョンアップと開発がやたらにスピーディーなのでプロダクトって何のことやらという話でもあるのですが。ちなみに2018-05-09現在のものになります。 version Node.js 8.11.1を選びます。 リリース一覧ではLTSの最新になっているからです。どこからダウンロードすればいいのか探してみたら、 http://nodejs.org/dist/ ここらでダウンロードできそうです。 ソースの入手とインストール (最新版をバイナリからインストール) もう、どれとってくればいいんだかわからんです。 https://nodejs.org/download/release/v8.11.1/ よくわからんので、 n...
2018.5.9 水
日本語で検索すると公式ドキュメントでは「ペジネーション」なので要注意。 DBセレクトの量が増えると当然必要な機能になってきますが、Laravelだと簡単にできて楽。 DBテーブルからオフセットでセレクトする use App\SomeModelName; .... $data = SomeModelName::paginate(5); あるいは、 use Illuminate\Support\Facades\DB; .... $data = DB::table('some_model_names')->paginate(5); みたいなとり方で5件と5件分のオフセットのページネーションを作成してくれます。 view側では、$dataをオブジェクトのまま渡してあげて、 {{ $data-&...
2018.5.1 火
いろいろと複雑且つ難しい方法はさておき、 $url = $request->url(); これで純粋にURL取得。 $url = $request->fullUrl(); これでGETクエリまでを含めたすべての値が取得できます。 あとは何か適当に加工すればよいかと。 リクエストの取得
2018.5.1 火
基本的なルーティング Laravelのルーティング書き方まとめ
2018.5.1 火
いろんな外部のアカウントでログインできるのは便利です。(しかしオープンIDはどこにいってしまったのでしょうか。) Amazonもその類にもれずAmazonアカウントで様々なシステムでログイが可能です。 Login with Amazon SDK https://developer.amazon.com/ja/sdk-download Android, iOS, Unity, Xamarin, Adobe AIR, Webという感じで様々なSDKがあるようですが、ここではWEB SDKでいろいろやってみます。 https://amazonadsi-a.akamaihd.net/public/Amazon-Mobile-App-SDK-by-Platform/Amazon-Web-SDKs.zi...