技術情報
- 2022年07月22日
- 技術情報
知っておいていただきたいこと – 12
今日もlaravelのTipsをいくつか共有したいと思います。
アプリケーションを作成する際、他のユーザーがアクセスできない管理者ロールを用意することがほとんどでしょう。別のコントロールを繰り返し追加する代わりに、 ルートやコントローラに適用できるミドルウェアを作成することを検討しましょう。これは、absort ヘルパーや absort_unless ヘルパーを使えば簡単に実現できます。
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
class CheckUserIsAdmin{
public function handle(Request $request, Closure $next){
abort_unless(Auth::user()?->isAdmin(), Request::HTTP_FORBIDDEN);
return $next($request);
}
}
そして、そのミドルウェアをルートHTTPカーネルに追加する。
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel{
protected $routeMiddleware = [
'admin' => \App\Http\Middleware\CheckUserIsAdmin::class;
];
}
最後に、ミドルウェアを適用する
use App\Http\Middleware\AdminUserController;
use App\Http\Middleware\AdminDashboardController;
Route::prefix('admin')->middleware('admin')->group(function(){
Route::get('/',[AdminDashboardController::class, 'index']);
Route::get('/users',[AdminUserController::class, 'index']);
});
ということで、今回はこれで終わります。
金曜担当 – Ami
asahi at 2022年07月22日 10:00:00
- 2022年07月15日
- 技術情報
知っておいていただきたいこと – 11
今日もlaravelのTipsをいくつか共有したいと思います。
foreignIdFor() メソッドを使って、与えられたモデルクラスと同等のカラムを追加できること
$table->foreignId('user_id');
それとも
$table->foreignIdFor(User::class);
//Userモデルに関連するuser_idカラム
QueryBuilderの insert メソッドを使用したときに、bool値ではなくレコード ID を返したい場合、insertGetId を使用
$data = [....];
DB::table('users')->insert($data);
//return bool
DB::table('users')->insertGetId($data);
//return レコード ID (E.G 13)
ということで、今回はこれで終わります。
金曜担当 – Ami
asahi at 2022年07月15日 10:00:00
- 2022年07月14日
- 技術情報
[Laravel] Auth 機能とMiddlewareの設定(3)
今回はLaravel標準の認証機能とMiddlewareによる認証チェック機能についての情報を
シェアしたいと思います。
本記事は前回の「[Laravel] Auth 機能とMiddlewareの設定(2)」の続きです。
nishida at 2022年07月14日 10:00:00
- 2022年07月12日
- 技術情報
5 useful image libraries for PHP developers
Today, I would like to share about 5 useful image libraries for PHP developers. Let’s take a look.
1. Zebra Image
This is a lightweight and object oriented image manipulation library. . It can convert one format to another format easily. The formats supported by Zebra Image including .JPG, .GIF and .PNG .
2. Dynamic Dummy Image Generator
This library is a free PHP script by which images of any size and color can be generated. And text can be written over the images.
3. PhpThumb
This library is a PHP image manipulating library that allows to rotate, crop, and watermark the mages and define their quality. It accepts all the source types for images.
4. Php Graphic Works
This library is for image manipulation on the server side. It allows to perform complex image processing in an easy way. It can perform rotating, cropping, resizing, stretching, and flipping.
5. Image Cache
This library is a lightweight PHP class to move, compress, and cache the image in the browser/ It can set various options such as the base URL, the directory, etc.
This is all for now. Hope you enjoy that.
By Asahi
waithaw at 2022年07月12日 10:00:00
- 2022年07月08日
- 技術情報
知っておいていただきたいこと – 10
今回も、Laravelの知っておいた方がいいとおもったことをいくつか紹介します。
laravelのカスタム検証ルールが必要時、
ルール・オブジェクトを作成する代わりに、クロージャを使用するだけです。
もしルールを再利用する必要があれば、その時は*ルール・オブジェクトにします。
Validator::make($request->all(), [
'title' => [
'required',
'max:255',
function($attribute, $value, $fail) {
if($value === 'foo'){
$fail('The '. $attribute. 'is invalid');
}
},
]
]);
ということで、今回はこれで終わります。
金曜担当 – Ami
asahi at 2022年07月08日 10:00:00