1. Go to this page and download the library: Download bullet/doctrine-utils library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App\Entities;
use Bullet\DoctrineUtils\Interfaces\UrlRoutable;
class BaseEntity implements UrlRoutable
{
// Implement the */
public static function resolveRouteBinding($value, $field = null)
{
$field = $field ?? self::getRouteKeyName();
return self::repository()->findOneBy([$field => $value]);
}
/**
* Get the route key name.
*
* @return string
*/
public static function getRouteKeyName(): string
{
return 'id';
}
/**
* Get the repository for the entity.
*
* @return \Doctrine\ORM\EntityRepository
*/
public static function repository()
{
return app('em')->getRepository(get_called_class());
}
}
use Illuminate\Support\Facades\Route;
Route::get('{plant}', [PlantController::class, 'show']);
Route::get('{plant:slug}', [PlantController::class, 'showBySlug']);
namespace App\Http\Controllers;
use App\Entities\Plant;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class PlantController extends Controller
{
/**
* Show the plant details.
*
* @param Plant $plant
* @param Request $request
* @return Response
*/
public function show(Plant $plant, Request $request): Response
{
// Handle the request with the injected Plant entity
}
/**
* Show the plant details by slug.
*
* @param Plant $plant
* @param Request $request
* @return Response
*/
public function showBySlug(Plant $plant, Request $request): Response
{
// Handle the request with the injected Plant entity
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.