Download the PHP package lorenzo/cakephp-fixturize without Composer

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

CakePHP Fixturize Plugin

Managing fixtures is arguably the most difficult and boring process of unit testing in CakePHP. When you start a fresh project it's quite easy to make your fixtures progress along with your code, as the amount of changes are usually small. But once your applications reaches a certain point, it's actually quite hard to implement new features, as changing features would consume a great deal of your time.

Another case where handling fixtures is a daunting task is when trying to test an existing project with no previous tests. Generating the initial set of fixtures is hard as selecting the data that is relevant to the features you want to test.

This plugin allows you to import queries expressed in pure SQL, either as files or by importing directly from a seed database. This helps you use the tools you want for running migrations of your schema, or manipulate your data using SQL so it can be imported again.

Additionally, it provides a console shell to load your existing fixture files in a target database connection, so you can migrate any existing code you have to SQL managed fixtures.

Requirements

Installation

There are a few ways to choose from for installing this plugin:

[Composer]

Add the following to your composer.json in the corresponding configuration keys:

{
    "extra": {
        "installer-paths": {
            "Plugin/Fixturize": ["lorenzo/cakephp-fixturize"]
    }
},
    "require" : {
        "lorenzo/cakephp-fixturize": "master"
    }
}

[Manual]

[GIT Submodule]

In your app directory type:

git submodule add [email protected]:lorenzo/cakephp-fixturize.git app/Plugin/Fixturize
git submodule init
git submodule update

[GIT Clone]

In your plugin directory type:

git clone git://github.com/lorenzo/cakephp-fixturize.git app/Plugin/Fixturize

Enable plugin

Enable the plugin your app/Config/bootstrap.php file:

Usage

You can use this plugin in multiple ways, but typically, you'll want to start by importing an existing set of fixtures into a test database.

Load existing fixtures into a target connection

If you need to load your existing PHP based fixtures into a database (either for migrating them to a SQL based version or for quick visualization) then execute this command in the console:

./Console/cake Fixturize.fixture_loader app.event,app.tag,app.category --datasource test

It will load the comma separated list of fixtures schema and data into the datasource 'test'.

Load all fixtures from app or plugin

Instead of typing all the fixtures you need you can also simply not specify and, the shell will load all fixtures from the app then

./Console/cake Fixturize.fixture_loader --datasource test

To load all fixtures from a plugin you'll have to specify the plugin as well

./Console/cake Fixturize.fixture_loader --plugin SomePluginName --datasource test

Loading your fixtures from SQL files

When your amount of data is manageable, it's a good option to load it directly from SQL files that can be migrated, dumped again and managed with a versioning system like GIT.

Fixture SQL files can contain the table creation statement, any alter tables (for example foreign keys) and data inserts. But you can also manage the schema or the records via the $fields and $records property in your fixture as you would normally do if you define them in the fixture class.

If you choose to have the schema creation statements in the SQL file, make sure the CREATE statement contains IF NOT EXISTS.

Files should be stored in app/Test/Fixture/SQL/ or app/YourPlugin/Test/Fixture/SQL and have the .sql extension.

Example:

And that's all you need!

Loading your fixtures directly from a database

When the amount of data increases, you might consider having all your fixture data directly in a database, so you can copy schema and data directly from it before running each test. This is also considerably faster than loading fixture from a SQL file.

This requires creating a new database config in app/Config/database.php to connect to the seed database (the one containing the test data):

Warning

Please ensure that you also have a $test database config that is pointing to a separate database.

$test_seed contains the seed data whereas $test is an empty database where the CakePHP Test logic will use to run queries on.

This is an example of using the import data fixture class:

Yes, as easy as that!


All versions of cakephp-fixturize with dependencies

PHP Build Version
Package Version
Requires composer/installers Version *
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 lorenzo/cakephp-fixturize contains the following files

Loading the files please wait ....