Cách sử dụng phpdocumentor
THỰC NGHIỆM. Bất cứ điều gì liên quan đến việc tạo Hướng dẫn, trong thư mục này hoặc ở nơi khác, đều được coi là thử nghiệm và có thể bị thay đổi hoặc xóa mà không cần thông báo hoặc cân nhắc cho BC Show Thư viện Hướng dẫn của phpDocumentor lấy tài liệu viết tay trong kho lưu trữ mã, tạo AST từ đó và cung cấp cho trình kết xuất để tạo đầu ra mong muốn Là một phần của mục tiêu này, bản thân thư viện Hướng dẫn giống như một khung nơi bạn có thể bổ sung hỗ trợ cho định dạng đầu vào, chẳng hạn như Văn bản được cấu trúc lại và bổ sung định dạng đầu ra để xuất ra, chẳng hạn như HTML Định dạng được hỗ trợĐầu vào
đầu ra
Cách sử dụng
Bạn có thể sử dụng thư viện này theo 2 cách
Sự phân chia này là theo thiết kế để cho phép người tiêu dùng triển khai cơ chế lưu vào bộ nhớ đệm, triển khai các quy trình kết xuất của riêng họ và các hoạt động kinh doanh tiện lợi khác phân tích cú phápVới trình phân tích cú pháp của Hướng dẫn, bạn có thể chuyển đổi văn bản của ngôn ngữ đánh dấu thành AST. AST này có thể được sử dụng trong công cụ khác để giải thích nó hoặc định dạng lại nó hoặc nó có thể được chuyển qua Trình kết xuất của Hướng dẫn viên để tạo tài liệu kết xuất từ nó Bước 1. Cài đặt gói ngôn ngữVề bản thân, Trình phân tích cú pháp của Hướng dẫn viên không biết phân tích ngôn ngữ nào và loại ngôn ngữ nào. Để sử dụng nó, bạn cũng cần cài đặt gói dành riêng cho ngôn ngữ; Bước 2. Khởi tạo trình phân tích cú pháp// Define which language conversions are supported by Guides $markupParsers = [ new \phpDocumentor\Guides\RestructuredText\MarkupLanguageParser(...), ]; // Define which output formats are supported by Guides $outputFormats = new OutputFormats( [ new \phpDocumentor\Guides\RestructuredText\HTML\HTMLFormat(...), ] ); // Declare how URLs are generated $urlGenerator = new \phpDocumentor\Guides\UrlGenerator(); // Instantate the Parser itself, optionally with a PSR-3 compliant logger at $logger. $parser = new Parser($urlGenerator, $outputFormats, $markupParsers, $logger); Bước 3. Chuẩn bị phân tích cú pháp nhiều tệp (tùy chọn)Khi bạn muốn phân tích cú pháp một loạt tệp đi cùng nhau hoặc có tham chiếu đến nội dung hoặc tệp bên ngoài khác;
// A Table of Contents-like collection; only need to instantiated once for all files. // This collection will be populated by the Parser with metadata derived from the parsed file. $metas = new Metas(); // The filesystem to load/include files from, can be any FlySystem v1 // Adapter: https://flysystem.thephpleague.com/v1/docs/ $filesystem = new Filesystem(new Local('/home/myUser/projects/my/project')); // Path of this file in the filesystem, helps to calculate relative source paths from; // i.e. /home/myUser/projects/my/project/docs $sourcePath = 'docs'; // Path of this file on the destination location, helps to calculate relative destination paths; // i.e. https://docs.myproject.com/latest $destinationPath = 'latest'; // The current filename, important: omit the extension! $fileName = 'index'; // DO IT! $parser->prepare($metas, $filesystem, $sourcePath, $destinationPath, $fileName); Bước 4. Lợi nhuận. Phân tích nội dung tập tinKhi bạn đã sẵn sàng, chỉ cần chuyển văn bản đánh dấu mà bạn muốn phân tích cú pháp và định dạng của nó (hoặc bỏ qua nếu định dạng là Phương pháp phân tích cú pháp sau đó sẽ bắt đầu diễn giải văn bản đã cho và trả về một thể hiện của $text = 'My *Awesome* file'; // What format is this file is? (default: "rst") $inputFormat = 'rst'; $document = $parser->parse($text, $inputFormat); TODOVì thư viện này đang được phát triển nên hiện tại nó vẫn có các phụ thuộc vào gói chính phpDocumentor hoặc giữa trình phân tích cú pháp và trình kết xuất. Có nhiều câu lệnh TODO trong mã cần được giải quyết trước khi gói này có thể được thăng cấp lên một thư viện độc lập Tách thư viện Hướng dẫn thành các gói định dạng đầu vàoViệc tách thư viện Hướng dẫn thành các gói riêng biệt gần đây đã được bắt đầu, trong gói này vẫn có sự trùng lặp với gói bổ trợ Văn bản được cấu trúc lại và cần được giải quyết. Các đoạn mã sau đây cần được cấu trúc lại để trở thành định dạng đầu vào bất khả tri
Trích xuất các định dạng đầu raCác định dạng đầu ra / kết xuất hiện vẫn nằm trong gói này và các mẫu nhánh nằm trong gói chính của phpDocumentor. Twig dự kiến vẫn là phương pháp cốt lõi để tạo đầu ra, nhưng chúng tôi muốn trích xuất các định dạng riêng lẻ (HTML, LaTeX, v.v. ) thành các gói riêng biệt |