
Traductions : Español
Bibliothèque PHP pour gérer les liens et scripts HTML.
Système d'exploitation: Linux | Fenêtres.
Versions PHP: 8.1 | 8.2.
La façon préférée d'installer cette extension est via le compositeur.
Pour installer PHP Asset Library , simplement:
composer require josantonius/assetLa commande précédente n'installera que les fichiers nécessaires, si vous préférez télécharger l'intégralité du code source que vous pouvez utiliser:
composer require josantonius/asset --prefer-sourceVous pouvez également cloner le référentiel complet avec Git:
git clone https://github.com/josantonius/php-asset.git JosantoniusAssetAsset
Imprimez les scripts supplémentaires pour le corps:
public function outputBodyScripts(): string ;Imprimez les scripts ajoutés pour la tête:
public function outputHeadScripts(): string ;Imprimez les liens ajoutés:
public function outputLinks(): string ; JosantoniusAssetFacadesAsset
Ajouter un script corporel:
/**
* @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 ;Ajouter le script de tête:
/**
* @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 ;Ajouter un lien:
/**
* @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 ;Imprimez les scripts supplémentaires pour le corps:
public static function outputBodyScripts(): string ;Imprimez les scripts ajoutés pour la tête:
public static function outputHeadScripts(): string ;Imprimez les liens ajoutés:
public static function outputLinks(): string ; JosantoniusAssetElementsBodyScript
Ajouter un script corporel:
/**
* @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
Ajouter le script de tête:
/**
* @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
Ajouter un lien:
/**
* @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 ,
);Exemple d'utilisation pour cette bibliothèque:
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 >Résultat:
< 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 >Résultat:
< 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 > Pour exécuter des tests, vous avez juste besoin de composer et pour exécuter ce qui suit:
git clone https://github.com/josantonius/php-asset.git cd php-asset composer installExécutez des tests unitaires avec PHPUNIT:
composer phpunitExécutez des tests standard de code avec PHPCS:
composer phpcsExécutez des tests de détection de désordre PHP pour détecter les incohérences dans le style de code:
composer phpmdExécutez tous les tests précédents:
composer tests <script> Les modifications détaillées pour chaque version sont documentées dans les notes de publication.
Veuillez vous assurer de lire le guide de contribution, avant de faire une demande de traction, de commencer une discussion ou de signaler un problème.
Merci à tous les contributeurs! ❤️
Si ce projet vous aide à réduire votre temps de développement, vous pouvez me parrainer pour soutenir mon travail open source?
Ce référentiel est concédé sous licence MIT.
Copyright © 2016-présent, Josantonius