Rumah >pembangunan bahagian belakang >tutorial php >Menjana dokumentasi PHP dengan Sami
Sami: Penjana dokumentasi API yang kuat untuk php
Menjana dokumentasi berasingan untuk kaedah, kelas, dan fungsi PHP anda adalah amalan terbaik. Artikel ini memperkenalkan Sami, penjana dokumentasi API yang mantap yang memudahkan proses ini, meningkatkan kebolehbacaan dan kebolehcapaian.
Ciri -ciri utama Sami:
Memahami DocBlocks:
DocBlocks adalah penting untuk Sami. Mereka adalah komen berbilang baris yang diletakkan di atas kelas, antara muka, kaedah, atau definisi atribut. Inilah contoh Laravel:
<code class="language-php">abstract class Manager { /** * The application instance. * * @var \Illuminate\Foundation\Application */ protected $app; /** * Create a new manager instance. * * @param \Illuminate\Foundation\Application $app * @return void */ public function __construct($app) { $this->app = $app; } }</code>DocBlocks bermula dengan
, berakhir dengan /**
, dan setiap baris dalam bermula dengan */
. Anotasi seperti *
dan @param
memberikan maklumat tambahan. Piawaian anotasi phpdocumentor disokong secara meluas. @var
Sami vs Penjana Lain:
manakala penjana lain wujud (mis., Phpdocumentor), Sami menonjol kerana integrasi GitHub dan keupayaan templat twignya.
Memasang Sami:
Pilih salah satu kaedah ini:
sami.phar
. php sami.phar
composer require sami/sami:3.0.*
. php vendor/sami/sami/sami.php
Klon Rangka Kerja Laravel:
git clone git@github.com:laravel/framework.git docs
Buat fail config/config.php
run: php vendor/sami/sami/sami.php update config/config.php
config/config.php
Fail ini mengembalikan contoh :
SamiSami
Selepas menjalankan arahan kemas kini, mulakan pelayan PHP (
<code class="language-php">$dir = __DIR__ . '/../docs'; $iterator = Symfony\Component\Finder\Finder::create() ->files() ->name('*.php') ->exclude('build') ->exclude('tests') ->in($dir); $options = [ 'theme' => 'default', 'title' => 'Laravel API Documentation', 'build_dir' => __DIR__ . '/../build/laravel', 'cache_dir' => __DIR__ . '/../cache/laravel', ]; $sami = new Sami\Sami($iterator, $options); return $sami;</code>
php -S localhost:8000 -t build/
versi git:
Sami cemerlang dalam mengendalikan pelbagai versi Git. Tambahkan pilihan versions
ke konfigurasi anda:
<code class="language-php">abstract class Manager { /** * The application instance. * * @var \Illuminate\Foundation\Application */ protected $app; /** * Create a new manager instance. * * @param \Illuminate\Foundation\Application $app * @return void */ public function __construct($app) { $this->app = $app; } }</code>
ingat untuk memasukkan %version%
dalam build_dir
dan cache_dir
.
Mewujudkan tema tersuai:
Sami membolehkan membuat tema tersuai. Letakkan fail manifest.yml
dalam direktori tema anda (mis., themes/mytheme/manifest.yml
<code class="language-php">$dir = __DIR__ . '/../docs'; $iterator = Symfony\Component\Finder\Finder::create() ->files() ->name('*.php') ->exclude('build') ->exclude('tests') ->in($dir); $options = [ 'theme' => 'default', 'title' => 'Laravel API Documentation', 'build_dir' => __DIR__ . '/../build/laravel', 'cache_dir' => __DIR__ . '/../cache/laravel', ]; $sami = new Sami\Sami($iterator, $options); return $sami;</code>Kemudian, ubah suai templat
untuk memasukkan CSS anda. Kemas kini fail konfigurasi anda untuk menggunakan tema tersuai anda: base.twig
. Jalankan 'theme' => 'mytheme'
untuk menjana semula dokumentasi. sami render config/config.php --force
Sami menawarkan penyelesaian yang kuat dan fleksibel untuk menghasilkan dokumentasi API berkualiti tinggi untuk projek PHP anda. Cirinya, termasuk versi Git dan sokongan tema tersuai, menjadikannya alat yang berharga untuk mana -mana pemaju PHP. Contoh lengkap boleh didapati di GitHub (pautan akan ditambah di sini jika repo github wujud untuk contoh ini).
Atas ialah kandungan terperinci Menjana dokumentasi PHP dengan Sami. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!