- 投稿日:2019-10-01T15:44:53+09:00
laravel 入門
環境構築
- 以下コマンドを実行しlaravelコマンドを使えるようにする
composer global require laravel/installer
laravel --version
- プロジェクト作成
laravel new projectA
- インストールに失敗したらphpの何かが足りていない可能性あり
yum install php php-mbstring
yum -y install php-zip
yum install php-xml
この辺入れてみる4.書き込み権限が必要なので以下実行
chmod -R 777 bootstrap/cache
chmod -R 777 storage
5.bootstrap入れるなら
composer require twbs/bootstrap
6.composer.json内を環境に合わせて修正
- 投稿日:2019-10-01T09:54:41+09:00
【Laravel】DBのテストを実行しようとしたらBadMethodCallException
Mockery\Exception\BadMethodCallException : Received Mockery_1_Illuminate_Console_OutputStyle::askQuestion(), but no expectations were specifiedキャッシュをクリアしたら動いてくれた。
php artisan config:clearhttps://readouble.com/laravel/5.8/ja/testing.html
テスト実行前には、config:clear Artisanコマンドを実行し、設定キャッシュをクリアするのを忘れないでください。
- 投稿日:2019-10-01T00:53:13+09:00
laravelでvue-routerの設定方法
はじめに
今回はvue-rounterのみのURLを使用した場合のlaravelとvue.jsの設定についての記事になりますので、
laravelとvue.jsの環境が整っている事が前提となっています。vue-routerのインストールからコンパイルまでの記事になっていますので、
実際に使用方法を知りたい方はこちらを参照ください。
https://qiita.com/KARENN/items/03b5881bb6e8e521ad11今回使用するファイル構成
projectName ↳routes ↳web.php ↳resorces ↳js ↳app.js ↳router.js ↳components ↳samaple.vue ↳views ↳index.blade.php ↳webpack.mix.jsインストール
npm install vue-routerlaravelのルーティングファイル
web.php(vue-routerのみ)Route::get('/{any}', function () { return view('index'); })->where('any', '.*');この記述をしておくことで「/」の後のURLは全てvue-rounterで指定した内容を読み込んでくれることになります。
この記述がなければ、vue-rounterを使用してもlaravelのRouting設定が先に読まれることになりますので注意してください。
この書き方は全てのURLをvue-routerで使用したい場合の書き方ですので、
特定の条件を利用したい場合はこちらの記述をします。web.php(laravelとvue-router)Route::get('/', function () { return view('task.list'); }) Route::get('/member/{any}', function () { return view('member.list'); })->where('any', '.*');このように書くと、
/
でアクセスするとタスク一覧はlaravelのルーティングとして認識されます。
/member
配下のURLは全てvue-routerで指定したルーティングとして認識されるようになります。vue.jsの設定
app.jsimport Vue from 'vue' ←追加 import router from './router' ←追加 new Vue({ el: '#app', router: router ←追加 })app.jsはVue.jsをインストールした際にデフォルトで追加されているファイルなので
そのファイルに対して上記の部分を追加してください。ルーティングの設定
router.jsimport Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter); // コンポーネントをインポート import index from './components/index.vue'; import detail from './components/detail.vue'; export default new VueRouter({ // モードの設定 mode: 'history', routes: [ { // routeのパス設定 path: '/', // 名前付きルートを設定したい場合付与 name: index, // コンポーネントの指定 component: index }, { path: '/detail', name: detail, component: detail } ] });modeの設定はデフォルトでは
hash
となってますが、ここではhistory
を使用しています。
hash
を使用している場合、下記のように#
がrouteの中に入るので注意してください。
ex) /detailのルーティングの場合: http://localhost/#/detailコンパイル
webpack.jsconst mix = require('laravel-mix'); /* |-------------------------------------------------------------------------- | Mix Asset Management |-------------------------------------------------------------------------- | | Mix provides a clean, fluent API for defining some Webpack build steps | for your Laravel application. By default, we are compiling the Sass | file for the application as well as bundling up all the JS files. | */ mix.js('resources/js/app.js', 'public/js') .js('resources/js/router.js', 'public/js') ←追加 .sass('resources/sass/app.scss', 'public/css');
npm run watch
を再度行い、public/js
の下にrouter.js
があればコンパイル成功となります。