Download the PHP package jeremyharris/cakephp-lazyload without Composer

On this page you can find all versions of the php package jeremyharris/cakephp-lazyload. 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 cakephp-lazyload

Packagist [license]()

CakePHP ORM LazyLoad Plugin

This is an association lazy loader for CakePHP ORM entities. It allows you to lazily load association data by accessessing the property, without using contain() (the eager loader).

Installation

Requirements

$ composer require jeremyharris/cakephp-lazyload

For older versions of the CakePHP ORM, look at older releases of this library.

Usage

If you have a base entity, add the trait to get lazy loading across all of your entities. Or, attach it to a single entity to only lazy load on that entity:

src/Model/Entity/User.php

Associations to the Users table can now be lazily loaded from the entity!

Example

Let's assume that our base entity has the LazyLoadEntityTrait and:

With the lazy loader, all we need is the entity:

When accessing an association property (as if the data was eagerly loaded), the associated data is loaded automatically.

Using contain in conjunction with the lazy loader

The lazy loader will not overwrite results that are generated by the eager loader (contain()). You can continue to write complex contain conditions and still take advantage of the lazy loader.

Entity method support

Entities with the lazy loader trait support lazy loading using the different property access methods provided by the Cake ORM:

When unsetting a property via Entity::unsetProperty(), the property will be prevented from being lazily loaded in the future for that entity, as it respects the state in the same way a typical Entity would. If you wish to re-hydrate an association, you can use Table::loadInto as provided by the ORM:

Testing

Sometimes in tests, we create entities that don't necessarily have tables. When accessing a property that doesn't exist, the LazyLoad trait will try to load the table in order to get association data, which would throw an error if the table doesn't exist. To prevent this, you can override _repository() in your entity:

By default, the LazyLoad trait will throw whatever error bubbles up TableRegistry::get().

Plugins

If testing plugins entities that don't have tables, make sure to override the _repository() method to return the plugin's table.

Notes

Special thanks to @lorenzo for reviewing the plugin before its initial release!


All versions of cakephp-lazyload with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
cakephp/orm Version ^5.0
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 jeremyharris/cakephp-lazyload contains the following files

Loading the files please wait ....