cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk melaksanakan Facades mudah dalam php?

<?php

# model.php

namespace Model\TestModel;

class User
{
    public function get()
    {
        return '爱因斯坦';
    }
}

<?php

# run.php

use Model\TestModel\User;

require __DIR__ . '/model.php';

$user = new User();
echo $user->get();

Saya mahu melaksanakan penggunaan yang sama seperti Laravel Facades, load.phpBagaimana cara menulisnya?

<?php

# run.php

require __DIR__ . '/load.php';

echo \User::get();
阿神阿神2774 hari yang lalu810

membalas semua(1)saya akan balas

  • 扔个三星炸死你

    扔个三星炸死你2017-06-21 10:12:55

    Anda perlu melaksanakan sendiri objek Fasad untuk memproksi semua panggilan kaedah kepada objek sebenar.

    class UserFacade
    {
        private $user;
    
        public function __constructor()
        {
            $this->user = new User();
        }
    
        public function __callStatic($name, $arguments)
        {
            return call_user_func_array(array($this, $name), $arguments);
        }
    }
    $user UserFacade::get();

    Sebarang panggilan kaedah statik ke UserFacade akan diproksikan kepada Pengguna. __callStatic在有静态调用的时候触发,传入的参数$name是UserFacade::getNama kaedah untuk panggilan statik, $arguments ialah tatasusunan parameter.

    Keterangan rasmi Laravel Facade ialah panggilan kelas yang ringkas dan mudah diingati pada asasnya Laravel menyediakan kelas Fasad untuk ciri-cirinya. Pada peringkat pembangunan perniagaan, saya tidak mengesyorkan kaedah reka bentuk panggilan kelas statik saya akan membuka jawatan berasingan untuk membincangkan perkara ini.

    Rujukan

    • https://laravel.com/docs/5.4/…

    • http://php.net/manual/ms/lang...

    • http://php.net/manual/ms/func...

    balas
    0
  • Batalbalas