Rumah >pembangunan bahagian belakang >tutorial php >Bootstrap Bekas Perkhidmatan: Bermula
Sebelum memulakan topik, buat dua fail baharu dalam direktori pengawal:
Bekas Perkhidmatan ialah corak reka bentuk yang memusatkan pengurusan kebergantungan antara objek, menyediakan cara berstruktur untuk mengakses dan mengurus perkhidmatan dalam aplikasi.
Ia bertindak sebagai pendaftaran untuk perkhidmatan dalam tapak web.
Mula-mula buat fail bernama Controller.php dalam direktori Teras. Dalam ini mulakan kelas Container, yang bertanggungjawab untuk mengurus pengikatan dan resolusi perkhidmatan.
class Container { protected $bindings = []; public function bind($key, $resolver) { $this->bindings[$key] = $resolver; } public function resolve($key) { if (!array_key_exists($key, $this->bindings)) { throw new Exception("No matching binding found for {$key}"); } $resolver = $this->bindings[$key]; return call_user_func($resolver); } }
Kelas Apl bertindak sebagai antara muka untuk Bekas, menyediakan antara muka yang mudah untuk mengakses perkhidmatan.
class App { protected static $container; public static function setContainer($container) { static::$container = $container; } public static function container() { return static::$container; } public static function bind($key, $resolver) { static::container()->bind($key, $resolver); } public static function resolve($key) { return static::container()->resolve($key); } }
Bootstrap ialah titik aplikasi, di mana segala-galanya disediakan dan dimulakan.
$container = new Container(); $container->bind('Core\Database', function () { $config = require base_path('config.php'); return new Database($config['database']); }); App::setContainer($container);
Dalam ini, proses bootstrap:
Perkhidmatan boleh diselesaikan daripada bekas dalam pengawal menggunakan kaedah App::resolve().
$db = App::resolve('Core\Database');
Kini bekas perkhidmatan dibina dengan betul dan anda dapat melihat projek itu berfungsi dengan baik.
Saya harap anda telah memahaminya dengan jelas.
Atas ialah kandungan terperinci Bootstrap Bekas Perkhidmatan: Bermula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!