Download the PHP package crustum/structarmed-cakephp without Composer

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

CakePHP Structarmed preset

StructArmed preset for CakePHP 5 application conventions.

Reuses the ideas of StructArmed's built-in MVC preset (layer isolation, thin entry points, naming, safety rules) but maps them to CakePHP's real layout.

Layers

Layer CakePHP namespace Naming
Controller <App>\Controller\FooController suffix Controller
Component <App>\Controller\Component\FooComponent suffix Component
Table <App>\Model\Table\FooTable suffix Table
Entity <App>\Model\Entity\Foo —
Behavior <App>\Model\Behavior\FooBehavior suffix Behavior
View <App>\View\AppView —
Cell <App>\View\Cell\FooCell suffix Cell
Helper <App>\View\Helper\FooHelper suffix Helper
Command <App>\Command\FooCommand suffix Command
Mailer <App>\Mailer\FooMailer suffix Mailer
Middleware <App>\Middleware\FooMiddleware suffix Middleware
Form <App>\Form\FooForm suffix Form
Type <App>\Database\Type\FooType suffix Type
Route <App>\Routing\Route\FooRoute suffix Route
Widget <App>\View\Widget\FooWidget suffix Widget
CacheEngine <App>\Cache\Engine\FooEngine suffix Engine
LogEngine <App>\Log\Engine\FooLog suffix Log
MailerTransport <App>\Mailer\Transport\FooTransport suffix Transport
Event <App>\Event\FooListener —
Policy <App>\Policy\FooPolicy suffix Policy
Authenticator <App>\Authenticator\FooAuthenticator suffix Authenticator
Identifier <App>\Identifier\FooIdentifier suffix Identifier
PasswordHasher <App>\PasswordHasher\FooPasswordHasher suffix PasswordHasher
UrlChecker <App>\UrlChecker\FooUrlChecker suffix UrlChecker

<App> is the root namespace of your application (or plugin), passed to the constructor (default App).

Templates are not classes — the preset calls skipPathsForRuleset(['templates/']) so templates/* is still scanned for PSR checks but excluded from layer rules.

Nested layers are never forced into their parent's suffix: a class that resolves to Component is exempt from the Controller suffix rule even when a broader host-defined App\Controller\* pattern also matches it (same for Behavior/ Entity vs Table).

Plugins

Plugins are separate namespaces (Billing\, Inventory\, …). Pass them to the preset and the same canonical layers, naming, quality and safety rules apply inside the plugin code:

Each plugin gets an owner layer (PluginBilling ↔ /^Billing\\.*$/) registered before the canonical layers, so per-plugin rules can be keyed on it in ruleset(). By default a plugin may not import the app namespace at all; grant specific app namespaces per plugin via pluginAppAccess.

Install

Usage

Tune it like the built-in presets:

Skip a rule or a path:

Rule keys

Rule keys live on the Crustum\StructArmed\Cake\CakeRule enum and are prefixed with cakephp.. Pass CakeRule::X->value to skip() / replaceRule():

What is intentionally not enforced

Requirements

License

Licensed under the MIT License. Redistributions of the source code included in this repository must retain the copyright notice found in each file.


All versions of structarmed-cakephp with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
boundwize/structarmed Version ~0.15
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 crustum/structarmed-cakephp contains the following files

Loading the files please wait ...