This library provides an easy way to get any jQuery libary included in your PHP project. This includes the usage of the remote, original jQuery libarary, or caching it locally on your server. Features include:
- Checking for the latest jQuery version
- Automatically use fix versions for any major version
- Using any flavour jQuery library: minified, slim, uncompressed or slim-minified.
- Listing all available versions
- Using git versions
This project is licensed under GNU LGPL 3.0.
composer install technicalguru/jquery
You can download the source code packages from GitHub Release Page
You will need to make the directory vendor/technicalguru/jquery/js
writable for your webserver when you want
to make use of the local caching feature.
$versionList = \TgJQuery\JQuery::getVersions();
This method lists all available versions.
The most recent stable version can be fetched by:
$lastestVersionNumber = \TgJQuery\JQuery::getLatest();
In case you are interested in the latest 3.3 fix:
$lastestVersionNumber = \TgJQuery\JQuery::getLatest('3.3');
The following method will give you URIs for your further inspection:
use TgJQuery\JQuery;
// Get URI to latest version, as uncompressed JS
$uri = JQuery::getUri('latest', JQuery::UNCOMPRESSED, TRUE);
// Get URI to 3.5.1 version, as slim JS
$uri = JQuery::getUri('3.5.1', JQuery::SLIM, TRUE);
// Get URI to latest 3.x git build, as minified JS
$uri = JQuery::getUri('3.x-git', JQuery::MINIFIED, TRUE);
The boolean parameter TRUE
tells JQuery to use remote versions only and not to cache it.
You can get the correct HTML script tag to be included in your HTML output in the same way:
use TgJQuery\JQuery;
// Get HTML link to latest version, as uncompressed JS
$link = JQuery::getLink('latest', JQuery::UNCOMPRESSED, TRUE);
// Get HTML link to 3.5.1 version, as slim JS
$link = JQuery::getLink('3.5.1', JQuery::SLIM, TRUE);
// Get HTML link to latest 3.x git build, as minified JS
$link = JQuery::getLink('3.x-git', JQuery::MINIFIED, TRUE);
Most projects prefer not to serve the jQuery library from remote CDNs but rather locally. This
is also the default. That's why the getUri()
and getLink()
calls can be written much shorter.
use TgJQuery\JQuery;
// Get a local cache URI to latest version, as minified JS
$uri = JQuery::getUri('latest');
// Get local cache HTML link to 3.5.1 version, as slim minified JS
$link = JQuery::getLink('3.5.1', JQuery::SLIM_MINIFIED);
The current version triggers remote calls to http://code.jquery.com whenever
you call getLatest()
and getVersions()
the first time in your script. The version list is
not being cached across multiple HTTP requests. This will be added in a later version.
However, it is recommended to stick with a defined version in your application to avoid side effects when jQuery dynamically upgrades in the background.
Report a bug, request an enhancement or pull request at the GitHub Issue Tracker.