
翻訳:español
HTMLリンクとスクリプトを処理するためのPHPライブラリ。
オペレーティングシステム:Linux | Windows。
PHPバージョン:8.1 | 8.2。
この拡張機能をインストールするための好ましい方法は、Composerを通じてです。
PHPアセットライブラリをインストールするには、単純に:
composer require josantonius/asset前のコマンドは、必要なファイルのみをインストールします。使用できるソースコード全体をダウンロードする場合は、次のことです。
composer require josantonius/asset --prefer-sourceGitで完全なリポジトリをクローンすることもできます。
git clone https://github.com/josantonius/php-asset.git JosantoniusAssetAsset
ボディに追加されたスクリプトを印刷します:
public function outputBodyScripts(): string ;ヘッドに追加されたスクリプトを印刷します:
public function outputHeadScripts(): string ;追加されたリンクを印刷します:
public function outputLinks(): string ;JosantoniusAssetFacadesAsset
ボディスクリプトを追加:
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
*/
public static function addBodyScript(
null | bool $ async = null ,
null | string $ crossorigin = null ,
null | bool $ defer = null ,
null | string $ fetchpriority = null ,
null | string $ integrity = null ,
null | bool $ nomodule = null ,
null | string $ nonce = null ,
null | string $ referrerpolicy = null ,
null | string $ src = null ,
null | string $ type = null
): BodyScript ;ヘッドスクリプトを追加:
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
*/
public static function addHeadScript(
null | bool $ async = null ,
null | string $ crossorigin = null ,
null | bool $ defer = null ,
null | string $ fetchpriority = null ,
null | string $ integrity = null ,
null | bool $ nomodule = null ,
null | string $ nonce = null ,
null | string $ referrerpolicy = null ,
null | string $ src = null ,
null | string $ type = null
): HeadScript ;リンクを追加:
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
*/
public static function addLink(
null | string $ as = null ,
null | string $ crossorigin = null ,
null | bool $ disabled = null ,
null | string $ fetchpriority = null ,
null | string $ href = null ,
null | string $ hreflang = null ,
null | string $ imagesizes = null ,
null | string $ imagesrcset = null ,
null | string $ integrity = null ,
null | string $ media = null ,
null | string $ prefetch = null ,
null | string $ referrerpolicy = null ,
null | string $ rel = null ,
null | string $ sizes = null ,
null | string $ target = null ,
null | string $ title = null ,
null | string $ type = null ,
): Link ;ボディに追加されたスクリプトを印刷します:
public static function outputBodyScripts(): string ;ヘッドに追加されたスクリプトを印刷します:
public static function outputHeadScripts(): string ;追加されたリンクを印刷します:
public static function outputLinks(): string ;JosantoniusAssetElementsBodyScript
ボディスクリプトを追加:
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
*/
public function __construct(
private null | bool $ async = null ,
private null | string $ crossorigin = null ,
private null | bool $ defer = null ,
private null | string $ fetchpriority = null ,
private null | string $ integrity = null ,
private null | bool $ nomodule = null ,
private null | string $ nonce = null ,
private null | string $ referrerpolicy = null ,
private null | string $ src = null ,
private null | string $ type = null
);JosantoniusAssetElementsHeadScript
ヘッドスクリプトを追加:
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
*/
public function __construct(
private null | bool $ async = null ,
private null | string $ crossorigin = null ,
private null | bool $ defer = null ,
private null | string $ fetchpriority = null ,
private null | string $ integrity = null ,
private null | bool $ nomodule = null ,
private null | string $ nonce = null ,
private null | string $ referrerpolicy = null ,
private null | string $ src = null ,
private null | string $ type = null
);JosantoniusAssetElementsLink
リンクを追加:
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
*/
public function __construct(
private null | string $ as = null ,
private null | string $ crossorigin = null ,
private null | bool $ disabled = null ,
private null | string $ fetchpriority = null ,
private null | string $ href = null ,
private null | string $ hreflang = null ,
private null | string $ imagesizes = null ,
private null | string $ imagesrcset = null ,
private null | string $ integrity = null ,
private null | string $ media = null ,
private null | string $ prefetch = null ,
private null | string $ referrerpolicy = null ,
private null | string $ rel = null ,
private null | string $ sizes = null ,
private null | string $ target = null ,
private null | string $ title = null ,
private null | string $ type = null ,
);このライブラリの使用例:
use Josantonius Asset Elements BodyScript ;
new BodyScript (
src: ' https://example.com/script.js '
); use Josantonius Asset Facades Asset ;
Asset:: addBodyScript (
src: ' script.js ' ,
type: ' text/javascript '
); use Josantonius Asset Elements HeadScript ;
new HeadScript (
src: ' script.js ' ,
type: ' module '
); use Josantonius Asset Facades Asset ;
Asset:: addHeadScript (
crossorigin: ' anonymous ' ,
defer: true ,
integrity: ' sha256-n9+ ' ,
src: ' https://example.com/script.js ' ,
type: ' text/javascript '
); use Josantonius Asset Elements Link ;
new Link (
crossorigin: ' anonymous ' ,
href: ' https://example.com/style.css ' ,
integrity: ' sha256-n9+ ' ,
media: ' all ' ,
rel: ' stylesheet '
); use Josantonius Asset Facades Asset ;
Asset:: addLink (
href: ' https://example.com/style.css ' ,
rel: ' stylesheet '
); use Josantonius Asset Asset ;
$ asset = new Asset ();
echo $ asset -> outputBodyScripts (); use Josantonius Asset Facades Asset ;
echo Asset:: outputBodyScripts (); use Josantonius Asset Asset ;
$ asset = new Asset ();
echo $ asset -> outputHeadScripts (); use Josantonius Asset Facades Asset ;
echo Asset:: outputHeadScripts (); use Josantonius Asset Asset ;
$ asset = new Asset ();
echo $ asset -> outputLinks (); use Josantonius Asset Facades Asset ;
echo Asset:: outputLinks ();index.php
use Josantonius Asset Elements Link ;
use Josantonius Asset Elements BodyScript ;
use Josantonius Asset Elements HeadScript ;
new BodyScript (src: ' foo.js ' , async: true );
new BodyScript (src: ' bar.js ' , type: ' text/javascript ' );
new HeadScript (src: ' https://example.com/foo.js ' , type: ' module ' );
new HeadScript (src: ' https://example.com/bar.js ' , defer: true );
new Link (href: ' https://example.com/foo.css ' , rel: ' stylesheet ' );
new Link (href: ' https://example.com/bar.css ' , rel: ' stylesheet ' , media: ' all ' ); page.html
< ?php
use JosantoniusAssetAsset;
$asset = new Asset();
? >
< html >
< head >
< ?= $asset- > outputLinks() ? >
< ?= $asset- > outputHeadScripts() ? >
</ head >
< body >
< ?= $asset- > outputBodyScripts() ? >
</ body >
</ html >結果:
< html >
< head >
< link href =" https://example.com/foo.css " rel =" stylesheet " >
< link href =" https://example.com/bar.css " rel =" stylesheet " media =" all " >
< script src =" https://example.com/foo.js " type =" module " > </ script >
< script defer src =" https://example.com/bar.js " > </ script >
</ head >
< body >
< script async src =" foo.js " > </ script >
< script src =" bar.js " type =" text/javascript " > </ script >
</ body >
</ html >index.php
use Josantonius Asset Facades Asset ;
Asset:: addBodyScript (src: ' foo.js ' , async: true );
Asset:: addBodyScript (src: ' bar.js ' , type: ' text/javascript ' );
Asset:: addHeadScript (src: ' https://example.com/foo.js ' , type: ' module ' );
Asset:: addHeadScript (src: ' https://example.com/bar.js ' , defer: true );
Asset:: addLink (href: ' https://example.com/foo.css ' , rel: ' stylesheet ' );
Asset:: addLink (href: ' https://example.com/bar.css ' , rel: ' stylesheet ' , media: ' all ' ); page.html
< ?php
use JosantoniusAssetFacadesAsset;
? >
< html >
< head >
< ?= Asset::outputLinks() ? >
< ?= Asset::outputHeadScripts() ? >
</ head >
< body >
< ?= Asset::outputBodyScripts() ? >
</ body >
</ html >結果:
< html >
< head >
< link href =" https://example.com/foo.css " rel =" stylesheet " >
< link href =" https://example.com/bar.css " rel =" stylesheet " media =" all " >
< script src =" https://example.com/foo.js " type =" module " > </ script >
< script defer src =" https://example.com/bar.js " > </ script >
</ head >
< body >
< script async src =" foo.js " > </ script >
< script src =" bar.js " type =" text/javascript " > </ script >
</ body >
</ html > テストを実行するには、作曲家が必要なだけで、以下を実行します。
git clone https://github.com/josantonius/php-asset.git cd php-asset composer installphpunitでユニットテストを実行します:
composer phpunitPHPCでコード標準テストを実行します。
composer phpcsPHP MESS検出器テストを実行して、コードスタイルの矛盾を検出します。
composer phpmd以前のすべてのテストを実行します:
composer tests <script>タグ間にコードを追加します各リリースの詳細な変更は、リリースノートに文書化されています。
プルリクエストを行う前に、貢献ガイドを必ず読んでください。ディスカッションを開始するか、問題を報告してください。
すべての貢献者に感謝します! ❤❤️
このプロジェクトが開発時間を短縮するのに役立つ場合、オープンソースの仕事をサポートするために私を後援することができますか?
このリポジトリは、MITライセンスの下でライセンスされています。
Copyright©2016-Present、Josantonius