1. Go to this page and download the library: Download j6s/phparch 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/ */
j6s / phparch example snippets
public function testSimpleNamespaces()
{
(new PhpArch())
->fromDirectory(__DIR__ . '/../../app')
->validate(new ForbiddenDependency('Lib\\', 'App\\'))
->validate(new MustBeSelfContained('App\\Utility'))
->validate(new MustOnlyDependOn('App\\Mailing', 'PHPMailer\\PHPMailer'))
->assertHasNoErrors();
}
public function testArchitecture()
{
$architecture = (new Architecture())
->component('Components')->identifiedByNamespace('J6s\\PhpArch\\Component')
->mustNotDependOn('Validation')->identifiedByNamespace('J6s\\PhpArch\\Validation');
(new PhpArch())
->fromDirectory(__DIR__ . '/../../app')
->validate($architecture)
->assertHasNoErrors();
}
// This
$architecture->components([
'Foo' => 'Vendor\\Foo',
'Bar' => [ 'Vendor\\Bar', 'Vendor\\Deep\\Bar' ]
]);
// Is the same as this
$architecture->component('Foo')
->identifiedByNamespace('Vendor\\Foo')
->component('Bar')
->identifierByNamespace('Vendor\\Bar')
->identifiedByNamespace('Vendor\\Deep\\Bar')
// This
(new Architecture)
->component('Foo')
->mustNotDependOn('Bar')
->andMustNotDependOn('Baz')
// Is this same as this:
(new Architecture())
->component('Foo')->mustNotDependOn('Bar')
->component('Foo')->mustNotDependOn('Baz')
$architecture = (new Architecture)
->component('vendor/subpackage')
->identifierByNamespace('Vendor\\Subpackage\\')
->mustOnlyDependOnComposerDependencies('packages/subpackage/composer.json');
$architecture = (new Architecture)
->addComposerBasedComponent('packages/subpackage/composer.json');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.