1. Go to this page and download the library: Download neemzy/patchwork library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
neemzy / patchwork example snippets
use Neemzy\Environ\Environment;
use Neemzy\Silex\Provider\EnvironServiceProvider;
$app->register(
new EnvironServiceProvider(
[
'dev' => new Environment(
function () {
return preg_match('/localhost|192\.168/', $_SERVER['SERVER_NAME']);
},
function () {
// development-specific code executed when the app runs
}
),
'prod' => new Environment(
function () {
return true;
},
function () {
// production-specific code executed when the app runs
}
)
]
)
);
echo($app['environ']->get()); // 'dev' or 'prod'
echo(+$app['environ']->is('prod')); // '0' or '1'
use Neemzy\Patchwork\Model\Entity;
use Neemzy\Patchwork\Model\FileModel;
class Pizza extends Entity
{
use FileModel; // (see below)
// This method is only used for validation
public function getName()
{
return $this->name;
}
// It allows us to adapt it if Constraint('image', new Assert\Image());
}
}
$pizza = $app['redbean']->dispense('pizza');
// Let's assume the Pizza model uses FileModel, SortableModel and TogglableModel traits (see below)
$pizza->dispatch('example'); // will call fileExample, sortableExample and togglableExample methods, if they exist
// Some dispatching is already pre-handled through RedBean's hooks
$app['redbean']->store($pizza); // will dispatch "update" and call fileUpdate, sortableUpdate and togglableUpdate
$app['redbean']->trash($pizza); // will dispatch "delete" and call fileDelete, sortableDelete and togglableDelete
// The Pizza model has no getSluggable method
$pizza = $app['redbean']->dispense();
$pizza->name = 'La Grandiosa Margarita!';
$app['redbean']->store($pizza); // Pizza's id is 12
echo($pizza->slug); // 'pizza-12'
// Now, the Pizza model has a getSluggable method that returns the pizza's name
$pizza = $app['redbean']->dispense();
$pizza->name = 'La Grandiosa Margarita!';
$app['redbean']->store($pizza);
echo($pizza->slug); // 'la-grandiosa-margarita'
$pizza1 = $app['redbean']->dispense('pizza');
$app['redbean']->store($pizza1);
echo($pizza1->position); // '1'
$pizza2 = $app['redbean']->dispense('pizza');
$app['redbean']->store($pizza2);
echo($pizza2->position); // '2'
$pizza1->move(); // Move down
echo($pizza1->position); // '2'
echo($pizza2->position); // '1'
$pizza1->move(true); // Move up
echo($pizza1->position); // '1'
echo($pizza2->position); // '2'
$pizza1->move(true); // Moving the first up does not affect anything
echo($pizza1->position); // '1'
$pizza2->move(); // Neither does moving the last down
echo($pizza2->position); // '2'
$app['redbean']->trash($pizza1);
echo($pizza2->position); // '1'
// The Pizza model has a getDefaultState method which returns true
$pizza = $app['dispense']->pizza();
echo(+$pizza->active); // '1'
$pizza->toggle();
echo(+$pizza->active); // '0'
$pizza->toggle(false); // You can force the given state
echo(+$pizza->active); // '0'
use Neemzy\Patchwork\Controller\FrontController;
$app->mount(
'/',
new FrontController()
);
use Neemzy\Patchwork\Controller\AdminController;
$app->mount(
'/',
new AdminController('pizza')
);
public function connect(Application $app)
{
$ctrl = parent::connect($app);
// Bind your own routes on top of the parent ones
return $ctrl;
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.