CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C Authorization 2.x API

  • Project:
    • Authorization
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 2.x
      • 3.x
      • 2.x

Namespaces

  • Authorization
    • Command
    • Controller
    • Exception
    • Middleware
    • Policy

Class PolicyCommand

Bake task for building policy classes

Namespace: Authorization\Command

Constants

  • int
    CODE_ERROR ¶
    1

    Default error code

  • int
    CODE_SUCCESS ¶
    0

    Default success code

Property Summary

  • $_modelFactories protected
    array<callable|Cake\Datasource\Locator\LocatorInterface>

    A list of overridden model factory functions.

  • $_modelType protected
    string

    The model type to use.

  • $_tableLocator protected
    Cake\ORM\Locator\LocatorInterface|null

    Table locator instance

  • $connection public
    string
  • $defaultTable protected
    string|null

    This object's default table alias.

  • $force public
    bool
  • $modelClass protected
    string|null

    This object's primary model class name. Should be a plural form. CakePHP will not inflect the name.

  • $name protected
    string

    The name of this command.

  • $pathFragment public
    string

    Path to Policy directory

  • $plugin public
    string
  • $theme public
    string|null
  • $type protected
    string

Method Summary

  • __construct() public

    Constructor

  • _camelize() protected

    Creates a camelized version of $name

  • _entityName() protected

    Creates the proper entity name (singular) for the specified name

  • _fixtureName() protected

    Creates a fixture name

  • _getBakeThemes() protected

    Get available bake themes

  • _getName() protected

    Handles splitting up the plugin prefix and classname.

  • _modelKey() protected

    Creates the proper underscored model key for associations

  • _modelNameFromKey() protected

    Creates the proper model name from a foreign key

  • _pluginNamespace() protected

    Return plugin's namespace

  • _pluginPath() protected

    Find the correct path for a plugin. Scans $pluginPaths for the plugin you want.

  • _pluralHumanName() protected

    Creates the plural human name used in views

  • _setCommonOptions() protected

    Set common options used by all bake tasks.

  • _setModelClass() protected

    Set the modelClass property based on conventions.

  • _singularHumanName() protected

    Creates the singular human name used in views

  • _singularName() protected

    Creates the singular name for use in views.

  • _variableName() protected

    Creates the plural variable name for views

  • abort() public

    Halt the current process with a StopException.

  • bake() protected

    Generate a class stub

  • bakeTest() public

    Do nothing (for now)

  • buildOptionParser() public

    Gets the option parser instance and configures it.

  • createTemplateRenderer() public

    Creates a new instance of TemplateRenderer with theme set.

  • defaultName() public static

    Get the command name.

  • deleteEmptyFile() protected

    Delete empty file in a given path

  • displayHelp() protected

    Output help content

  • execute() public

    Execute the command.

  • executeCommand() public

    Execute another command with the provided set of arguments.

  • extractCommonProperties() protected

    Pull common/frequently used arguments & options into properties so that method signatures can be simpler.

  • fetchModel() public

    Fetch or construct a model instance from a locator.

  • fetchTable() public

    Convenience method to get a table instance.

  • fileName() public

    Get the generated object's filename without the leading path.

  • getDescription() public static

    Get the command description.

  • getModelType() public

    Get the model type to be used by this class

  • getName() public

    Get the command name.

  • getOptionParser() public

    Get the option parser.

  • getPath() public

    Gets the path for output. Checks the plugin property and returns the correct path.

  • getPrefix() protected

    Get the prefix name.

  • getRootName() public

    Get the root command name.

  • getTableLocator() public

    Gets the table locator.

  • getTemplatePath() public

    Gets the path to the template path for the application or plugin.

  • initialize() public

    Hook method invoked by CakePHP when a command is about to be executed.

  • isValidColumnName() protected

    Check if a column name is valid.

  • loadModel() public deprecated

    Fetch or construct a model and set it to a property on this object.

  • log() public

    Convenience method to write a message to Log. See Log::write() for more information on writing to logs.

  • modelFactory() public

    Override a existing callable to generate repositories of a given type.

  • name() public

    Get the generated object's name.

  • parseFile() protected

    Parses a file if it exists.

  • run() public

    Run the command.

  • setModelType() public

    Set the model type to be used by this class

  • setName() public

    Set the name this command uses in the collection.

  • setOutputLevel() protected

    Set the output level based on the Arguments.

  • setTableLocator() public

    Sets the table locator.

  • template() public

    Get the template name.

  • templateData() public

    Get template data.

  • writeFile() protected

    Write file contents out to path and prompt user with options with file exists.

Method Detail

__construct() ¶ public

__construct()

Constructor

By default CakePHP will construct command objects when building the CommandCollection for your application.

_camelize() ¶ protected

_camelize(string $name): string

Creates a camelized version of $name

Parameters
string $name

name

Returns
string

_entityName() ¶ protected

_entityName(string $name): string

Creates the proper entity name (singular) for the specified name

Parameters
string $name

Name

Returns
string

_fixtureName() ¶ protected

_fixtureName(string $name): string

Creates a fixture name

Parameters
string $name

Model class name

Returns
string

_getBakeThemes() ¶ protected

_getBakeThemes(): array

Get available bake themes

Returns
array

_getName() ¶ protected

_getName(string $name): string

Handles splitting up the plugin prefix and classname.

Sets the plugin parameter and plugin property.

Parameters
string $name

The name to possibly split.

Returns
string

_modelKey() ¶ protected

_modelKey(string $name): string

Creates the proper underscored model key for associations

If the input contains a dot, assume that the right side is the real table name.

Parameters
string $name

Model class name

Returns
string

_modelNameFromKey() ¶ protected

_modelNameFromKey(string $key): string

Creates the proper model name from a foreign key

Parameters
string $key

Foreign key

Returns
string

_pluginNamespace() ¶ protected

_pluginNamespace(string $pluginName): string

Return plugin's namespace

Parameters
string $pluginName

Plugin name

Returns
string

_pluginPath() ¶ protected

_pluginPath(string $pluginName): string

Find the correct path for a plugin. Scans $pluginPaths for the plugin you want.

Parameters
string $pluginName

Name of the plugin you want ie. DebugKit

Returns
string

_pluralHumanName() ¶ protected

_pluralHumanName(string $name): string

Creates the plural human name used in views

Parameters
string $name

Controller name

Returns
string

_setCommonOptions() ¶ protected

_setCommonOptions(Cake\Console\ConsoleOptionParser $parser): Cake\Console\ConsoleOptionParser

Set common options used by all bake tasks.

Parameters
Cake\Console\ConsoleOptionParser $parser

Options parser.

Returns
Cake\Console\ConsoleOptionParser

_setModelClass() ¶ protected

_setModelClass(string $name): void

Set the modelClass property based on conventions.

If the property is already set it will not be overwritten

Parameters
string $name

Class name.

Returns
void

_singularHumanName() ¶ protected

_singularHumanName(string $name): string

Creates the singular human name used in views

Parameters
string $name

Controller name

Returns
string

_singularName() ¶ protected

_singularName(string $name): string

Creates the singular name for use in views.

Parameters
string $name

Name to use

Returns
string

_variableName() ¶ protected

_variableName(string $name): string

Creates the plural variable name for views

Parameters
string $name

Name to use

Returns
string

abort() ¶ public

abort(int $code = self::CODE_ERROR): void

Halt the current process with a StopException.

Parameters
int $code optional

The exit code to use.

Returns
void
Throws
Cake\Console\Exception\StopException

bake() ¶ protected

bake(string $name, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void

Generate a class stub

Parameters
string $name

The class name

Cake\Console\Arguments $args

The console arguments

Cake\Console\ConsoleIo $io

The console io

Returns
void

bakeTest() ¶ public

bakeTest(string $className, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void

Do nothing (for now)

Parameters
string $className

The class to bake a test for.

Cake\Console\Arguments $args

The arguments object

Cake\Console\ConsoleIo $io

The consoleio object

Returns
void

buildOptionParser() ¶ public

buildOptionParser(Cake\Console\ConsoleOptionParser $parser): Cake\Console\ConsoleOptionParser

Gets the option parser instance and configures it.

Parameters
Cake\Console\ConsoleOptionParser $parser

The parser to update.

Returns
Cake\Console\ConsoleOptionParser

createTemplateRenderer() ¶ public

createTemplateRenderer(): Bake\Utility\TemplateRenderer

Creates a new instance of TemplateRenderer with theme set.

Returns
Bake\Utility\TemplateRenderer

defaultName() ¶ public static

defaultName(): string

Get the command name.

Returns the command name based on class name. For e.g. for a command with class name UpdateTableCommand or BakeUpdateTableCommand the default name returned would be 'bake update_table'.

Returns
string

deleteEmptyFile() ¶ protected

deleteEmptyFile(string $path, Cake\Console\ConsoleIo $io): void

Delete empty file in a given path

Parameters
string $path

Path to folder which contains 'empty' file.

Cake\Console\ConsoleIo $io

ConsoleIo to delete file with.

Returns
void

displayHelp() ¶ protected

displayHelp(Cake\Console\ConsoleOptionParser $parser, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void

Output help content

Parameters
Cake\Console\ConsoleOptionParser $parser

The option parser.

Cake\Console\Arguments $args

The command arguments.

Cake\Console\ConsoleIo $io

The console io

Returns
void

execute() ¶ public

execute(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): int|null

Execute the command.

Parameters
Cake\Console\Arguments $args

The command arguments.

Cake\Console\ConsoleIo $io

The console io

Returns
int|null

executeCommand() ¶ public

executeCommand(Cake\Console\CommandInterface|string $command, array $args = [], Cake\Console\ConsoleIo|null $io = null): int|null

Execute another command with the provided set of arguments.

If you are using a string command name, that command's dependencies will not be resolved with the application container. Instead you will need to pass the command as an object with all of its dependencies.

Parameters
Cake\Console\CommandInterface|string $command

The command class name or command instance.

array $args optional

The arguments to invoke the command with.

Cake\Console\ConsoleIo|null $io optional

The ConsoleIo instance to use for the executed command.

Returns
int|null

extractCommonProperties() ¶ protected

extractCommonProperties(Cake\Console\Arguments $args): void

Pull common/frequently used arguments & options into properties so that method signatures can be simpler.

Parameters
Cake\Console\Arguments $args

Arguments to extract

Returns
void

fetchModel() ¶ public

fetchModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface

Fetch or construct a model instance from a locator.

Uses a modelFactory based on $modelType to fetch and construct a RepositoryInterface and return it. The default modelType can be defined with setModelType().

Unlike loadModel() this method will not set an object property.

If a repository provider does not return an object a MissingModelException will be thrown.

Parameters
string|null $modelClass optional

Name of model class to load. Defaults to $this->modelClass. The name can be an alias like 'Post' or FQCN like App\Model\Table\PostsTable::class.

string|null $modelType optional

The type of repository to load. Defaults to the getModelType() value.

Returns
Cake\Datasource\RepositoryInterface
Throws
Cake\Datasource\Exception\MissingModelException
If the model class cannot be found.
UnexpectedValueException
If $modelClass argument is not provided and ModelAwareTrait::$modelClass property value is empty.

fetchTable() ¶ public

fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table

Convenience method to get a table instance.

Parameters
string|null $alias optional

The alias name you want to get. Should be in CamelCase format. If null then the value of $defaultTable property is used.

array<string, mixed> $options optional

The options you want to build the table with. If a table has already been loaded the registry options will be ignored.

Returns
Cake\ORM\Table
Throws
Cake\Core\Exception\CakeException
If `$alias` argument and `$defaultTable` property both are `null`.
See Also
\Cake\ORM\TableLocator::get()

fileName() ¶ public

fileName(string $name): string

Get the generated object's filename without the leading path.

Parameters
string $name
Returns
string

getDescription() ¶ public static

getDescription(): string

Get the command description.

Returns
string

getModelType() ¶ public

getModelType(): string

Get the model type to be used by this class

Returns
string

getName() ¶ public

getName(): string

Get the command name.

Returns
string

getOptionParser() ¶ public

getOptionParser(): Cake\Console\ConsoleOptionParser

Get the option parser.

You can override buildOptionParser() to define your options & arguments.

Returns
Cake\Console\ConsoleOptionParser
Throws
RuntimeException
When the parser is invalid

getPath() ¶ public

getPath(Cake\Console\Arguments $args): string

Gets the path for output. Checks the plugin property and returns the correct path.

Parameters
Cake\Console\Arguments $args

Arguments instance to read the prefix option from.

Returns
string

getPrefix() ¶ protected

getPrefix(Cake\Console\Arguments $args): string

Get the prefix name.

Handles camelcasing each namespace in the prefix path.

Parameters
Cake\Console\Arguments $args

Arguments instance to read the prefix option from.

Returns
string

getRootName() ¶ public

getRootName(): string

Get the root command name.

Returns
string

getTableLocator() ¶ public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

Gets the table locator.

Returns
Cake\ORM\Locator\LocatorInterface

getTemplatePath() ¶ public

getTemplatePath(Cake\Console\Arguments $args, string|null $container = null): string

Gets the path to the template path for the application or plugin.

Parameters
Cake\Console\Arguments $args

Arguments instance to read the prefix option from.

string|null $container optional

The container directory in the templates directory.

Returns
string

initialize() ¶ public

initialize(): void

Hook method invoked by CakePHP when a command is about to be executed.

Override this method and implement expensive/important setup steps that should not run on every command run. This method will be called before the options and arguments are validated and processed.

Returns
void

isValidColumnName() ¶ protected

isValidColumnName(string $name): bool

Check if a column name is valid.

The Regex used here basically states that:

  • the column name has to start with an ASCII character (lower or upper case) or an underscore and
  • further characters are allowed to be either lower or upper case ASCII characters, numbers or underscores.
Parameters
string $name

The name of the column.

Returns
bool

loadModel() ¶ public

loadModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface

Fetch or construct a model and set it to a property on this object.

Uses a modelFactory based on $modelType to fetch and construct a RepositoryInterface and set it as a property on the current object. The default modelType can be defined with setModelType().

If a repository provider does not return an object a MissingModelException will be thrown.

Parameters
string|null $modelClass optional

Name of model class to load. Defaults to $this->modelClass. The name can be an alias like 'Post' or FQCN like App\Model\Table\PostsTable::class.

string|null $modelType optional

The type of repository to load. Defaults to the getModelType() value.

Returns
Cake\Datasource\RepositoryInterface
Throws
Cake\Datasource\Exception\MissingModelException
If the model class cannot be found.
UnexpectedValueException
If $modelClass argument is not provided and ModelAwareTrait::$modelClass property value is empty.

log() ¶ public

log(string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool

Convenience method to write a message to Log. See Log::write() for more information on writing to logs.

Parameters
string $message

Log message.

string|int $level optional

Error level.

array|string $context optional

Additional log data relevant to this message.

Returns
bool

modelFactory() ¶ public

modelFactory(string $type, Cake\Datasource\Locator\LocatorInterface|callable $factory): void

Override a existing callable to generate repositories of a given type.

Parameters
string $type

The name of the repository type the factory function is for.

Cake\Datasource\Locator\LocatorInterface|callable $factory

The factory function used to create instances.

Returns
void

name() ¶ public

name(): string

Get the generated object's name.

Returns
string

parseFile() ¶ protected

parseFile(string $path): Bake\CodeGen\ParsedFile|null

Parses a file if it exists.

Parameters
string $path

File path

Returns
Bake\CodeGen\ParsedFile|null

run() ¶ public

run(array $argv, Cake\Console\ConsoleIo $io): int|null

Run the command.

Parameters
array $argv
Cake\Console\ConsoleIo $io
Returns
int|null

setModelType() ¶ public

setModelType(string $modelType): $this

Set the model type to be used by this class

Parameters
string $modelType

The model type

Returns
$this

setName() ¶ public

setName(string $name): $this

Set the name this command uses in the collection.

Generally invoked by the CommandCollection when the command is added. Required to have at least one space in the name so that the root command can be calculated.

Parameters
string $name
Returns
$this

setOutputLevel() ¶ protected

setOutputLevel(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void

Set the output level based on the Arguments.

Parameters
Cake\Console\Arguments $args

The command arguments.

Cake\Console\ConsoleIo $io

The console io

Returns
void

setTableLocator() ¶ public

setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this

Sets the table locator.

Parameters
Cake\ORM\Locator\LocatorInterface $tableLocator

LocatorInterface instance.

Returns
$this

template() ¶ public

template(): string

Get the template name.

Returns
string

templateData() ¶ public

templateData(Cake\Console\Arguments $arguments): array

Get template data.

Parameters
Cake\Console\Arguments $arguments
Returns
array

writeFile() ¶ protected

writeFile(Cake\Console\ConsoleIo $io, string $path, string $contents, bool $forceOverwrite = false, bool $skipIfUnchnged = true): bool

Write file contents out to path and prompt user with options with file exists.

Parameters
Cake\Console\ConsoleIo $io

Console io

string $path

The path to create the file at

string $contents

The contents to put into the file

bool $forceOverwrite optional

Whether the file should be overwritten without prompting the user

bool $skipIfUnchnged optional

Skip writing output if the contents match existing file

Returns
bool
Throws
Cake\Console\Exception\StopException
When `q` is given as an answer to whether a file should be overwritten.

Property Detail

$_modelFactories ¶ protected

A list of overridden model factory functions.

Type
array<callable|Cake\Datasource\Locator\LocatorInterface>

$_modelType ¶ protected

The model type to use.

Type
string

$_tableLocator ¶ protected

Table locator instance

Type
Cake\ORM\Locator\LocatorInterface|null

$connection ¶ public

Type
string

$defaultTable ¶ protected

This object's default table alias.

Type
string|null

$force ¶ public

Type
bool

$modelClass ¶ protected

This object's primary model class name. Should be a plural form. CakePHP will not inflect the name.

Example: For an object named 'Comments', the modelClass would be 'Comments'. Plugin classes should use Plugin.Comments style names to correctly load models from the correct plugin.

Use empty string to not use auto-loading on this object. Null auto-detects based on controller name.

Type
string|null

$name ¶ protected

The name of this command.

Type
string

$pathFragment ¶ public

Path to Policy directory

Type
string

$plugin ¶ public

Type
string

$theme ¶ public

Type
string|null

$type ¶ protected

Type
string
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs