Download the PHP package mouf/html.utils.weblibrarymanager without Composer

On this page you can find all versions of the php package mouf/html.utils.weblibrarymanager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package html.utils.weblibrarymanager

Latest Stable Version Total Downloads Latest Unstable Version License Build Status Coverage Status Scrutinizer Code Quality

WebLibraryManager: a PHP class to manage Javascript/CSS dependencies in your project

Tutorial

If you need a nice introduction to managing JS/CSS files with Mouf, read the JS/CSS introduction of the "getting things done with mouf" project.

Introduction

WebLibraryManager is a Mouf package that allows you to import CSS/Javascript in your project the simple way. Since v4, WebLibraryManager is using container-interop/service-provider and therefore is framework agnostic.

When installed, the WebLibraryManager package creates a Mouf\Html\Utils\WebLibraryManager\WebLibraryManager instance.

The usage is simple: when you want to import a new Javascript/CSS library, you create an instance of WebLibrary, you put the list of CSS/JS files in it, and you add this instance to WebLibraryManager. When you call the toHtml() method of the WebLibraryManager, it will output all HTML tags to import CSS files first, then all JS files.

If your WebLibrary depends on other web libraries (for instance, if you import jQueryUI, that requires jQuery), the WebLibraryManager will manage all the dependencies for you. If you have special needs about the way to import CSS/JS files, you can develop your own WebLibraryRenderer that will render your library (for instance with inline JS, ...)

graph LR; A[WebLibraryManager]-->B[jQuery]; A-->C[jQuery-UI]; A-->D[Bootstrap]; A-->E[Other library]; A-->F[...];

Installing WebLibraryManager:

WebLibraryManager comes as a composer package (the name of the package is mouf/html.utils.weblibrarymanager) Usually, you do not install this package by yourself. It should be a dependency of a Mouf template that you will use.

Still want to install it manually? Use the packagist package:

composer.json

Getting an instance of WebLibraryManager

Most of the time, you will be using WebLibraryManager through a Mouf template. You can simply get an instance of the WebLibraryManager from the template:

Adding a JS or CSS file programmatically

The most trivial use of the WebLibraryManager is adding a JS or CSS file to your web page. To do this, you simply write:

When you include a file, if the file does NOT start with a '/', it is relative to your root URL. If the file start with a '/', it is absolute.

You can add any kind of script at the end of the <head> tag using:

You can also declare a complete WebLibrary object and add it.

This codes create a new WebLibrary and adds it to the WebLibraryManager. The WebLibrary takes an array of Javascript files as first argument, and an array of CSS files as second argument.

Alternatively, if you want to add some CSS styles or Javascript scripts (or anything else) to your <head> tag, you can simply use the InlineWebLibrary class that let's you add what you want in the JS, CSS or additional part of your template.

Outputing the result

Simply use the toHtml() method to output the content of the WebLibraryManager:

This call is usually performed by your template.

The WebLibraryManager will group its output in 3 categories:

Adding a new WebLibrary by configuration

You can register a new WebLibrary in your container using a service provider.

Assuming you use Funky for creating your service providers, your code will look like this:

Note: Do not start the JS or CSS file path with a /. That way, the path is relative to the ROOT_URL (the root of your web application). You can also enter a full path (http://...) if you want to use hosted libraries, CDN, etc...

Writing your own WebLibraries

If you have specific needs, the WebLibrary class might not be enough. For instance, you might want to output something else than <script> tags.

For these use-cases, you can write a class that implement the WebLibraryInterface interface. Since the WebLibraryManager uses Mouf's rendering system, you will need to provide a template for your class with 3 different contexts: "js", "css" and "additional".

Here is a simple sample:

The GoogleAnalyticsWebLibrary is a simple class that will output Javascript required by Google Analytics. This class contains almost nothing except the 2 properties required (accountKey and domainName).

Rendering is performed by the 3 templates here:

Because the Google Analytics tracking code is in the "additional" section, it will be displayed after all CSS and JS files are loaded.


All versions of html.utils.weblibrarymanager with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
mouf/html.renderer Version ^2.0
mouf/html.htmlelement Version ^2.0
thecodingmachine/funky Version ^1
mindplay/composer-locator Version ^2.1.3
psr/container Version ^1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mouf/html.utils.weblibrarymanager contains the following files

Loading the files please wait ....