mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge pull request #9473 from dhensby/pulls/short-array-docs
Use short array syntax across the framework's codebase
This commit is contained in:
commit
295fc7c2ad
@ -6,7 +6,7 @@ use SilverStripe\Dev\Install\MySQLDatabaseConfigurationHelper;
|
||||
|
||||
// Register MySQLi as a database adapter (listed as second option in Dev/Install/config-form.html)
|
||||
DatabaseAdapterRegistry::register(
|
||||
array(
|
||||
[
|
||||
/** @skipUpgrade */
|
||||
'class' => 'MySQLDatabase',
|
||||
'module' => 'framework',
|
||||
@ -17,12 +17,12 @@ DatabaseAdapterRegistry::register(
|
||||
'missingExtensionText' =>
|
||||
'The <a href="http://www.php.net/manual/en/book.mysqli.php">MySQLi</a>
|
||||
PHP extension is not available. Please install or enable it and refresh this page.'
|
||||
)
|
||||
]
|
||||
);
|
||||
|
||||
// Register MySQL PDO as a database adapter (listed as first option in Dev/Install/config-form.html)
|
||||
DatabaseAdapterRegistry::register(
|
||||
array(
|
||||
[
|
||||
/** @skipUpgrade */
|
||||
'class' => 'MySQLPDODatabase',
|
||||
'module' => 'framework',
|
||||
@ -34,5 +34,5 @@ DatabaseAdapterRegistry::register(
|
||||
'Either the <a href="http://www.php.net/manual/en/book.pdo.php">PDO Extension</a> or
|
||||
the <a href="http://www.php.net/manual/en/ref.pdo-mysql.php">MySQL PDO Driver</a>
|
||||
are unavailable. Please install or enable these and refresh this page.'
|
||||
)
|
||||
]
|
||||
);
|
||||
|
@ -481,10 +481,10 @@ $players = Player::get()->exclude([
|
||||
`Exclude` follows the same pattern as filter, so for removing only Sam Minnée from the list:
|
||||
|
||||
```php
|
||||
$players = Player::get()->exclude(array(
|
||||
$players = Player::get()->exclude([
|
||||
'FirstName' => 'Sam',
|
||||
'Surname' => 'Minnée',
|
||||
));
|
||||
]);
|
||||
|
||||
// SELECT * FROM Player WHERE (FirstName != 'Sam' OR LastName != 'Minnée')
|
||||
```
|
||||
|
@ -209,7 +209,7 @@ If you're using the default scaffolded form fields with multiple `has_one` relat
|
||||
public function getCMSFields()
|
||||
{
|
||||
$fields = parent::getCMSFields();
|
||||
$fields->removeByName(array('ManagerID', 'CleanerID'));
|
||||
$fields->removeByName(['ManagerID', 'CleanerID']);
|
||||
return $fields;
|
||||
}
|
||||
```
|
||||
|
@ -51,11 +51,11 @@ A map is an array where the array indexes contain data as well as the values. Yo
|
||||
```php
|
||||
$members = Member::get()->map('ID', 'FirstName');
|
||||
|
||||
// $members = array(
|
||||
// $members = [
|
||||
// 1 => 'Sam'
|
||||
// 2 => 'Sig'
|
||||
// 3 => 'Will'
|
||||
// );
|
||||
// ];
|
||||
```
|
||||
|
||||
This functionality is provided by the [Map](api:SilverStripe\ORM\Map) class, which can be used to build a map around any `SS_List`.
|
||||
@ -72,11 +72,11 @@ $members = Member::get();
|
||||
|
||||
echo $members->column('Email');
|
||||
|
||||
// returns array(
|
||||
// returns [
|
||||
// 'sam@silverstripe.com',
|
||||
// 'sig@silverstripe.com',
|
||||
// 'will@silverstripe.com'
|
||||
// );
|
||||
// ];
|
||||
```
|
||||
|
||||
## ArrayList
|
||||
|
@ -62,7 +62,7 @@ class Car extends DataObject
|
||||
{
|
||||
private static $db = [
|
||||
'Wheels' => 'Int',
|
||||
'Condition' => 'Enum(array("New","Fair","Junk"))'
|
||||
'Condition' => 'Enum(["New","Fair","Junk"])'
|
||||
];
|
||||
|
||||
private static $defaults = [
|
||||
@ -93,7 +93,7 @@ class Car extends DataObject
|
||||
{
|
||||
private static $db = [
|
||||
'Wheels' => 'Int(4)',
|
||||
'Condition' => 'Enum(array("New","Fair","Junk"), "New")',
|
||||
'Condition' => 'Enum(["New","Fair","Junk"], "New")',
|
||||
'Make' => 'Varchar(["default" => "Honda"])',
|
||||
);
|
||||
}
|
||||
@ -229,7 +229,7 @@ use SilverStripe\ORM\DataObject;
|
||||
class Player extends DataObject
|
||||
{
|
||||
private static $db = [
|
||||
"Status" => "Enum(array('Active', 'Injured', 'Retired'))"
|
||||
"Status" => "Enum(['Active', 'Injured', 'Retired'])"
|
||||
];
|
||||
|
||||
public function getStatus()
|
||||
|
@ -147,10 +147,10 @@ API methods:
|
||||
but also supports SQL expressions as values if necessary
|
||||
* `setAssignments` - Replaces all existing assignments with the specified list
|
||||
* `getAssignments` - Returns all currently given assignments, as an associative array
|
||||
in the format `array('Column' => array('SQL' => array('parameters)))`
|
||||
in the format `['Column' => ['SQL' => ['parameters]]]`
|
||||
* `assign` - Singular form of addAssignments, but only assigns a single column value
|
||||
* `assignSQL` - Assigns a column the value of a specified SQL expression without parameters
|
||||
`assignSQL('Column', 'SQL)` is shorthand for `assign('Column', array('SQL' => array()))`
|
||||
`assignSQL('Column', 'SQL)` is shorthand for `assign('Column', ['SQL' => []])`
|
||||
|
||||
SQLUpdate also includes the following API methods:
|
||||
|
||||
@ -225,7 +225,7 @@ $insert->assign('"Content"', '<p>This is about us</p>');
|
||||
$insert->addRow(['"Title"' => 'Contact Us']);
|
||||
|
||||
$columns = $insert->getColumns();
|
||||
// $columns will be array('"Title"', '"Content"', '"ClassName"');
|
||||
// $columns will be ['"Title"', '"Content"', '"ClassName"'];
|
||||
|
||||
$insert->execute();
|
||||
```
|
||||
|
@ -93,7 +93,7 @@ If your caching logic is complex or re-usable, you can define a method on your c
|
||||
fragment.
|
||||
|
||||
For example, a block that shows a collection of rotating slides needs to update whenever the relationship
|
||||
`Page::$many_many = array('Slides' => 'Slide')` changes. In `PageController`:
|
||||
`Page::$many_many = ['Slides' => 'Slide']` changes. In `PageController`:
|
||||
|
||||
|
||||
```php
|
||||
|
@ -41,10 +41,10 @@ You can define subclasses of [Member](api:SilverStripe\Security\Member) to add e
|
||||
use SilverStripe\Security\Member;
|
||||
|
||||
class MyMember extends Member {
|
||||
private static $db = array(
|
||||
private static $db = [
|
||||
"Age" => "Int",
|
||||
"Address" => "Text",
|
||||
);
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -72,7 +72,7 @@ echo $session->get('MyValue');
|
||||
// returns 6
|
||||
|
||||
$data = $session->get('MyArrayOfValues');
|
||||
// $data = array(1,2,3)
|
||||
// $data = [1,2,3]
|
||||
|
||||
$object = unserialize($session->get('MyObject', $object));
|
||||
// $object = Object()
|
||||
|
@ -371,12 +371,12 @@ E.g.
|
||||
:::php
|
||||
class MyObject extends DataObject
|
||||
{
|
||||
private static $has_one = array(
|
||||
private static $has_one = [
|
||||
"ImageObject" => "Image"
|
||||
);
|
||||
private static $db = array(
|
||||
];
|
||||
private static $db = [
|
||||
"ImageField" => "DBFile('image/supported')"
|
||||
);
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -518,12 +518,12 @@ The below describes the minimum amount of effort required to implement a composi
|
||||
class MyAddressField extends DBComposite
|
||||
{
|
||||
|
||||
private static $composite_db = array(
|
||||
private static $composite_db = [
|
||||
'Street' => 'Varchar(200)',
|
||||
'Suburb' => 'Varchar(100)',
|
||||
'City' => 'Varchar(100)',
|
||||
'Country' => 'Varchar(100)'
|
||||
);
|
||||
];
|
||||
|
||||
public function scaffoldFormField($title = null)
|
||||
{
|
||||
|
@ -362,7 +362,7 @@ class Email extends ViewableData
|
||||
* Set recipient(s) of the email
|
||||
*
|
||||
* To send to many, pass an array:
|
||||
* array('me@example.com' => 'My Name', 'other@example.com');
|
||||
* ['me@example.com' => 'My Name', 'other@example.com'];
|
||||
*
|
||||
* @param string|array $address The message recipient(s) - if sending to multiple, use an array of address => name
|
||||
* @param string|null $name The name of the recipient (if one)
|
||||
|
@ -57,19 +57,19 @@ abstract class BulkLoader extends ViewableData
|
||||
* <code>
|
||||
* <?php
|
||||
* // simple example
|
||||
* array(
|
||||
* [
|
||||
* 'Title',
|
||||
* 'Birthday'
|
||||
* )
|
||||
* ]
|
||||
*
|
||||
* // complex example
|
||||
* array(
|
||||
* [
|
||||
* 'first name' => 'FirstName', // custom column name
|
||||
* null, // ignored column
|
||||
* 'RegionID', // direct has_one/has_many ID setting
|
||||
* 'OrganisationTitle', // create has_one relation to existing record using $relationCallbacks
|
||||
* 'street' => 'Organisation.StreetName', // match an existing has_one or create one and write property.
|
||||
* );
|
||||
* ];
|
||||
* ?>
|
||||
* </code>
|
||||
*
|
||||
@ -82,12 +82,12 @@ abstract class BulkLoader extends ViewableData
|
||||
*
|
||||
* <code>
|
||||
* <?php
|
||||
* array(
|
||||
* 'OrganisationTitle' => array(
|
||||
* [
|
||||
* 'OrganisationTitle' => [
|
||||
* 'relationname' => 'Organisation', // relation accessor name
|
||||
* 'callback' => 'getOrganisationByTitle',
|
||||
* );
|
||||
* );
|
||||
* ];
|
||||
* ];
|
||||
* ?>
|
||||
* </code>
|
||||
*
|
||||
@ -111,12 +111,12 @@ abstract class BulkLoader extends ViewableData
|
||||
*
|
||||
* <code>
|
||||
* <?php
|
||||
* array(
|
||||
* [
|
||||
* 'customernumber' => 'ID',
|
||||
* 'phonenumber' => array(
|
||||
* 'phonenumber' => [
|
||||
* 'callback' => 'getByImportedPhoneNumber'
|
||||
* )
|
||||
* );
|
||||
* ]
|
||||
* ];
|
||||
* ?>
|
||||
* </code>
|
||||
*
|
||||
@ -211,10 +211,10 @@ abstract class BulkLoader extends ViewableData
|
||||
*
|
||||
* Return Format:
|
||||
* <code>
|
||||
* array(
|
||||
* 'fields' => array('myFieldName'=>'myDescription'),
|
||||
* 'relations' => array('myRelationName'=>'myDescription'),
|
||||
* )
|
||||
* [
|
||||
* 'fields' => ['myFieldName'=>'myDescription'],
|
||||
* 'relations' => ['myRelationName'=>'myDescription'],
|
||||
* ]
|
||||
* </code>
|
||||
*
|
||||
* @todo Mix in custom column mappings
|
||||
|
@ -30,7 +30,7 @@ class BulkLoader_Result implements \Countable
|
||||
*
|
||||
* Example:
|
||||
* <code>
|
||||
* array(array('ID'=>1, 'ClassName'=>'Member', 'Message'=>'Updated existing record based on ParentID relation'))
|
||||
* [['ID'=>1, 'ClassName'=>'Member', 'Message'=>'Updated existing record based on ParentID relation']]
|
||||
* </code>
|
||||
*
|
||||
* @var array
|
||||
|
@ -31,7 +31,7 @@ use SilverStripe\ORM\DataObjectInterface;
|
||||
* $actions = new FieldList(
|
||||
* new FormAction('doUpload', 'Upload file')
|
||||
* );
|
||||
* $validator = new RequiredFields(array('MyName', 'MyFile'));
|
||||
* $validator = new RequiredFields(['MyName', 'MyFile']);
|
||||
*
|
||||
* return new Form($this, 'Form', $fields, $actions, $validator);
|
||||
* }
|
||||
|
@ -44,7 +44,7 @@ trait FileUploadReceiver
|
||||
public $relationAutoSetting = true;
|
||||
|
||||
/**
|
||||
* Parent data record. Will be infered from parent form or controller if blank.
|
||||
* Parent data record. Will be inferred from parent form or controller if blank.
|
||||
*
|
||||
* @var DataObject
|
||||
*/
|
||||
|
@ -13,7 +13,7 @@ use SilverStripe\View\HTML;
|
||||
* button is selected. Each item is defined through {@link SelectionGroup_Item}.
|
||||
*
|
||||
* @example <code>
|
||||
* $items = array(
|
||||
* $items = [
|
||||
* new SelectionGroup_Item(
|
||||
* 'one',
|
||||
* new LiteralField('one', 'one view'),
|
||||
@ -24,7 +24,7 @@ use SilverStripe\View\HTML;
|
||||
* new LiteralField('two', 'two view'),
|
||||
* 'two title'
|
||||
* ),
|
||||
* );
|
||||
* ];
|
||||
* $field = new SelectionGroup('MyGroup', $items);
|
||||
* </code>
|
||||
*
|
||||
|
@ -26,7 +26,7 @@ class TextareaField extends FormField
|
||||
*/
|
||||
private static $casting = [
|
||||
'Value' => 'Text',
|
||||
'ValueEntities' => 'HTMLFragment(array(\'shortcodes\' => false))',
|
||||
'ValueEntities' => 'HTMLFragment([\'shortcodes\' => false])',
|
||||
];
|
||||
|
||||
protected $schemaDataType = FormField::SCHEMA_DATA_TYPE_TEXT;
|
||||
|
@ -122,7 +122,7 @@ class DBQueryBuilder
|
||||
foreach ($columns as $column) {
|
||||
// Check if this column has a value for this row
|
||||
if (isset($assignments[$column])) {
|
||||
// Assigment is a single item array, expand with a loop here
|
||||
// Assignment is a single item array, expand with a loop here
|
||||
foreach ($assignments[$column] as $assignmentSQL => $assignmentParameters) {
|
||||
$parts[] = $assignmentSQL;
|
||||
$parameters = array_merge($parameters, $assignmentParameters);
|
||||
@ -220,7 +220,7 @@ class DBQueryBuilder
|
||||
// Join SET components together, considering parameters
|
||||
$parts = [];
|
||||
foreach ($query->getAssignments() as $column => $assignment) {
|
||||
// Assigment is a single item array, expand with a loop here
|
||||
// Assignment is a single item array, expand with a loop here
|
||||
foreach ($assignment as $assignmentSQL => $assignmentParameters) {
|
||||
$parts[] = "$column = $assignmentSQL";
|
||||
$parameters = array_merge($parameters, $assignmentParameters);
|
||||
|
@ -345,7 +345,7 @@ abstract class DBSchemaManager
|
||||
* @param array $indexSchema A list of indexes to create. See {@link requireIndex()}
|
||||
* The values of the array can be one of:
|
||||
* - true: Create a single column index on the field named the same as the index.
|
||||
* - array('fields' => array('A','B','C'), 'type' => 'index/unique/fulltext'): This gives you full
|
||||
* - ['fields' => ['A','B','C'], 'type' => 'index/unique/fulltext']: This gives you full
|
||||
* control over the index.
|
||||
* @param boolean $hasAutoIncPK A flag indicating that the primary key on this table is an autoincrement type
|
||||
* @param array $options Create table options (ENGINE, etc.)
|
||||
@ -478,7 +478,7 @@ MESSAGE
|
||||
* The keys of the array are the names of the index.
|
||||
* The values of the array can be one of:
|
||||
* - true: Create a single column index on the field named the same as the index.
|
||||
* - array('type' => 'index|unique|fulltext', 'value' => 'FieldA, FieldB'): This gives you full
|
||||
* - ['type' => 'index|unique|fulltext', 'value' => 'FieldA, FieldB']: This gives you full
|
||||
* control over the index.
|
||||
*
|
||||
* @param string $table The table name.
|
||||
@ -536,7 +536,7 @@ MESSAGE
|
||||
$containedSpec = preg_replace('/(.*\(\s*)|(\s*\).*)/', '', $spec);
|
||||
|
||||
// Split potentially quoted modifiers
|
||||
// E.g. 'Title, "QuotedColumn"' => array('Title', 'QuotedColumn')
|
||||
// E.g. 'Title, "QuotedColumn"' => ['Title', 'QuotedColumn']
|
||||
return preg_split('/"?\s*,\s*"?/', trim($containedSpec, '(") '));
|
||||
}
|
||||
|
||||
|
@ -729,7 +729,7 @@ class DataObjectSchema
|
||||
*
|
||||
* Standard many_many return type is:
|
||||
*
|
||||
* array(
|
||||
* [
|
||||
* <manyManyClass>, Name of class for relation. E.g. "Categories"
|
||||
* <classname>, The class that relation is defined in e.g. "Product"
|
||||
* <candidateName>, The target class of the relation e.g. "Category"
|
||||
@ -738,7 +738,7 @@ class DataObjectSchema
|
||||
* <joinTableOrRelation> The join table between the two classes e.g. "Product_Categories".
|
||||
* If the class name is 'ManyManyThroughList' then this is the name of the
|
||||
* has_many relation.
|
||||
* )
|
||||
* ]
|
||||
*
|
||||
* @param string $class Name of class to get component for
|
||||
* @param string $component The component name
|
||||
|
@ -38,12 +38,12 @@ class DataQuery
|
||||
* Map of all field names to an array of conflicting column SQL
|
||||
*
|
||||
* E.g.
|
||||
* array(
|
||||
* 'Title' => array(
|
||||
* [
|
||||
* 'Title' => [
|
||||
* '"MyTable"."Title"',
|
||||
* '"AnotherTable"."Title"',
|
||||
* )
|
||||
* )
|
||||
* ]
|
||||
* ]
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
|
@ -56,7 +56,7 @@ class DBEnum extends DBString
|
||||
* "MyField" => "Enum('Val1, Val2, Val3')" // First item 'Val1' is default implicitly
|
||||
* "MyField" => "Enum('Val1, Val2, Val3', 'Val2')" // 'Val2' is default explicitly
|
||||
* "MyField" => "Enum('Val1, Val2, Val3', null)" // Force empty (no) default
|
||||
* "MyField" => "Enum(array('Val1', 'Val2', 'Val3'), 'Val1')" // Supports array notation as well
|
||||
* "MyField" => "Enum(['Val1', 'Val2', 'Val3'], 'Val1')" // Supports array notation as well
|
||||
* </code>
|
||||
*
|
||||
* @param string $name
|
||||
|
@ -7,10 +7,10 @@ namespace SilverStripe\ORM\FieldType;
|
||||
*
|
||||
* Example instantiation in {@link DataObject::$db}:
|
||||
* <code>
|
||||
* static $db = array(
|
||||
* static $db = [
|
||||
* "SuccessRatio" => "Percentage",
|
||||
* "ReallyAccurate" => "Percentage(6)",
|
||||
* );
|
||||
* ];
|
||||
* </code>
|
||||
*/
|
||||
class DBPercentage extends DBDecimal
|
||||
|
@ -14,12 +14,12 @@ class SQLAssignmentRow
|
||||
* List of field values to store for this query
|
||||
*
|
||||
* Each item in this array will be in the form of a single-length array
|
||||
* in the format array('sql' => array($parameters)).
|
||||
* in the format ['sql' => [$parameters]].
|
||||
* The field name is stored as the key
|
||||
*
|
||||
* E.g.
|
||||
*
|
||||
* <code>$assignments['ID'] = array('?' => array(1));</code>
|
||||
* <code>$assignments['ID'] = ['?' => [1]];</code>
|
||||
*
|
||||
* This allows for complex, parameterised updates, or explict field values set
|
||||
* without any prameters
|
||||
@ -45,7 +45,7 @@ class SQLAssignmentRow
|
||||
*
|
||||
* @param mixed $value Either a literal field value, or an array with
|
||||
* placeholder => parameter(s) as a pair
|
||||
* @return array A single item array in the format array($sql => array($parameters))
|
||||
* @return array A single item array in the format [$sql => [$parameters]]
|
||||
*/
|
||||
protected function parseAssignment($value)
|
||||
{
|
||||
@ -57,7 +57,7 @@ class SQLAssignmentRow
|
||||
|
||||
// If given as array then extract and check both the SQL as well as the parameter(s)
|
||||
// Note that there could be multiple parameters, e.g.
|
||||
// array('MAX(?,?)' => array(1,2)) although the container should
|
||||
// ['MAX(?,?)' => [1,2]] although the container should
|
||||
// have a single item
|
||||
if (count($value) == 1) {
|
||||
foreach ($value as $sql => $parameters) {
|
||||
@ -76,13 +76,13 @@ class SQLAssignmentRow
|
||||
|
||||
throw new InvalidArgumentException(
|
||||
"Nested field assignments should be given as a single parameterised item array in "
|
||||
. "array('?' => array('value')) format)"
|
||||
. "['?' => ['value']] format)"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a list of assignments in any user-acceptible format, normalise the
|
||||
* value to a common array('SQL' => array(parameters)) format
|
||||
* value to a common ['SQL' => [parameters]] format
|
||||
*
|
||||
* @param array $assignments List of assignments.
|
||||
* The key of this array should be the field name, and the value the assigned
|
||||
@ -107,27 +107,27 @@ class SQLAssignmentRow
|
||||
* <code>
|
||||
*
|
||||
* // Basic assignments
|
||||
* $query->addAssignments(array(
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Title"' => 'Bob',
|
||||
* '"Object"."Description"' => 'Bob was here'
|
||||
* ))
|
||||
* ])
|
||||
*
|
||||
* // Parameterised assignments
|
||||
* $query->addAssignments(array(
|
||||
* '"Object"."Title"' => array('?' => 'Bob')),
|
||||
* '"Object"."Description"' => array('?' => null))
|
||||
* ))
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Title"' => ['?' => 'Bob'],
|
||||
* '"Object"."Description"' => ['?' => null]
|
||||
* ])
|
||||
*
|
||||
* // Complex parameters
|
||||
* $query->addAssignments(array(
|
||||
* '"Object"."Score"' => array('MAX(?,?)' => array(1, 3))
|
||||
* ));
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Score"' => ['MAX(?,?)' => [1, 3]]
|
||||
* ]);
|
||||
*
|
||||
* // Assigment of literal SQL for a field. The empty array is
|
||||
* // Assignment of literal SQL for a field. The empty array is
|
||||
* // important to denote the zero-number paramater list
|
||||
* $query->addAssignments(array(
|
||||
* '"Object"."Score"' => array('NOW()' => array())
|
||||
* ));
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Score"' => ['NOW()' => []]
|
||||
* ]);
|
||||
*
|
||||
* </code>
|
||||
*
|
||||
@ -157,9 +157,9 @@ class SQLAssignmentRow
|
||||
/**
|
||||
* Retrieves the list of assignments in parameterised format
|
||||
*
|
||||
* @return array List of assigments. The key of this array will be the
|
||||
* @return array List of assignments. The key of this array will be the
|
||||
* column to assign, and the value a parameterised array in the format
|
||||
* array('SQL' => array(parameters));
|
||||
* ['SQL' => [parameters]];
|
||||
*/
|
||||
public function getAssignments()
|
||||
{
|
||||
@ -176,10 +176,10 @@ class SQLAssignmentRow
|
||||
* $query->assign('"Object"."Description"', 'lorum ipsum');
|
||||
*
|
||||
* // Single parameter
|
||||
* $query->assign('"Object"."Title"', array('?' => 'Bob'));
|
||||
* $query->assign('"Object"."Title"', ['?' => 'Bob']);
|
||||
*
|
||||
* // Complex parameters
|
||||
* $query->assign('"Object"."Score"', array('MAX(?,?)' => array(1, 3));
|
||||
* $query->assign('"Object"."Score"', ['MAX(?,?)' => [1, 3]]);
|
||||
* </code>
|
||||
*
|
||||
* @param string $field The field name to update
|
||||
|
@ -194,7 +194,7 @@ class SQLInsert extends SQLExpression implements SQLWriteExpression
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears all currently set assigment values on the current row
|
||||
* Clears all currently set assignment values on the current row
|
||||
*
|
||||
* @return $this The self reference to this query
|
||||
*/
|
||||
|
@ -31,7 +31,7 @@ class SQLSelect extends SQLConditionalExpression
|
||||
/**
|
||||
* An array of having clauses.
|
||||
* Each item in this array will be in the form of a single-length array
|
||||
* in the format array('predicate' => array($parameters))
|
||||
* in the format ['predicate' => [$parameters]]
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
@ -124,13 +124,13 @@ class SQLSelect extends SQLConditionalExpression
|
||||
*
|
||||
* <code>
|
||||
* // pass fields to select as single parameter array
|
||||
* $query->setSelect(array('"Col1"', '"Col2"'))->setFrom('"MyTable"');
|
||||
* $query->setSelect(['"Col1"', '"Col2"'])->setFrom('"MyTable"');
|
||||
*
|
||||
* // pass fields to select as multiple parameters
|
||||
* $query->setSelect('"Col1"', '"Col2"')->setFrom('"MyTable"');
|
||||
*
|
||||
* // Set a list of selected fields as aliases
|
||||
* $query->setSelect(array('Name' => '"Col1"', 'Details' => '"Col2"')->setFrom('"MyTable"');
|
||||
* $query->setSelect(['Name' => '"Col1"', 'Details' => '"Col2"'])->setFrom('"MyTable"');
|
||||
* </code>
|
||||
*
|
||||
* @param string|array $fields Field names should be ANSI SQL quoted. Array keys should be unquoted.
|
||||
@ -293,7 +293,7 @@ class SQLSelect extends SQLConditionalExpression
|
||||
* @example $sql->setOrderBy("Column DESC");
|
||||
* @example $sql->setOrderBy("Column DESC, ColumnTwo ASC");
|
||||
* @example $sql->setOrderBy("Column", "DESC");
|
||||
* @example $sql->setOrderBy(array("Column" => "ASC", "ColumnTwo" => "DESC"));
|
||||
* @example $sql->setOrderBy(["Column" => "ASC", "ColumnTwo" => "DESC"]);
|
||||
*
|
||||
* @param string|array $clauses Clauses to add (escaped SQL statement)
|
||||
* @param string $direction Sort direction, ASC or DESC
|
||||
@ -313,7 +313,7 @@ class SQLSelect extends SQLConditionalExpression
|
||||
* @example $sql->addOrderBy("Column DESC");
|
||||
* @example $sql->addOrderBy("Column DESC, ColumnTwo ASC");
|
||||
* @example $sql->addOrderBy("Column", "DESC");
|
||||
* @example $sql->addOrderBy(array("Column" => "ASC", "ColumnTwo" => "DESC"));
|
||||
* @example $sql->addOrderBy(["Column" => "ASC", "ColumnTwo" => "DESC"]);
|
||||
*
|
||||
* @param string|array $clauses Clauses to add (escaped SQL statements)
|
||||
* @param string $direction Sort direction, ASC or DESC
|
||||
@ -388,7 +388,7 @@ class SQLSelect extends SQLConditionalExpression
|
||||
*
|
||||
* @param string $value
|
||||
* @param string $defaultDirection
|
||||
* @return array A two element array: array($column, $direction)
|
||||
* @return array A two element array: [$column, $direction]
|
||||
*/
|
||||
private function getDirectionFromString($value, $defaultDirection = null)
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ class SQLUpdate extends SQLConditionalExpression implements SQLWriteExpression
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears all currently set assigment values
|
||||
* Clears all currently set assignment values
|
||||
*
|
||||
* @return $this The self reference to this query
|
||||
*/
|
||||
|
@ -20,27 +20,27 @@ interface SQLWriteExpression
|
||||
* <code>
|
||||
*
|
||||
* // Basic assignments
|
||||
* $query->addAssignments(array(
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Title"' => 'Bob',
|
||||
* '"Object"."Description"' => 'Bob was here'
|
||||
* ))
|
||||
* ])
|
||||
*
|
||||
* // Parameterised assignments
|
||||
* $query->addAssignments(array(
|
||||
* '"Object"."Title"' => array('?' => 'Bob')),
|
||||
* '"Object"."Description"' => array('?' => null))
|
||||
* ))
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Title"' => ['?' => 'Bob'],
|
||||
* '"Object"."Description"' => ['?' => null]
|
||||
* ])
|
||||
*
|
||||
* // Complex parameters
|
||||
* $query->addAssignments(array(
|
||||
* '"Object"."Score"' => array('MAX(?,?)' => array(1, 3))
|
||||
* ));
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Score"' => ['MAX(?,?)' => [1, 3]]
|
||||
* ]);
|
||||
*
|
||||
* // Assigment of literal SQL for a field. The empty array is
|
||||
* // Assignment of literal SQL for a field. The empty array is
|
||||
* // important to denote the zero-number paramater list
|
||||
* $query->addAssignments(array(
|
||||
* '"Object"."Score"' => array('NOW()' => array())
|
||||
* ));
|
||||
* $query->addAssignments([
|
||||
* '"Object"."Score"' => ['NOW()' => []]
|
||||
* ]);
|
||||
*
|
||||
* </code>
|
||||
*
|
||||
@ -66,9 +66,9 @@ interface SQLWriteExpression
|
||||
*
|
||||
* For multi-row objects returns assignments for the current row.
|
||||
*
|
||||
* @return array List of assigments. The key of this array will be the
|
||||
* @return array List of assignments. The key of this array will be the
|
||||
* column to assign, and the value a parameterised array in the format
|
||||
* array('SQL' => array(parameters));
|
||||
* ['SQL' => [parameters]];
|
||||
*/
|
||||
public function getAssignments();
|
||||
|
||||
@ -84,10 +84,10 @@ interface SQLWriteExpression
|
||||
* $query->assign('"Object"."Description"', 'lorum ipsum'));
|
||||
*
|
||||
* // Single parameter
|
||||
* $query->assign('"Object"."Title"', array('?' => 'Bob'));
|
||||
* $query->assign('"Object"."Title"', ['?' => 'Bob']);
|
||||
*
|
||||
* // Complex parameters
|
||||
* $query->assign('"Object"."Score"', array('MAX(?,?)' => array(1, 3));
|
||||
* $query->assign('"Object"."Score"', ['MAX(?,?)' => [1, 3]]);
|
||||
* </code>
|
||||
*
|
||||
* @param string $field The field name to update
|
||||
|
@ -84,30 +84,30 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
|
||||
/**
|
||||
* Stores the user-supplied closed block extension rules in the form:
|
||||
* array(
|
||||
* [
|
||||
* 'name' => function (&$res) {}
|
||||
* )
|
||||
* ]
|
||||
* See SSTemplateParser::ClosedBlock_Handle_Loop for an example of what the callable should look like
|
||||
* @var array
|
||||
*/
|
||||
protected $closedBlocks = array();
|
||||
protected $closedBlocks = [];
|
||||
|
||||
/**
|
||||
* Stores the user-supplied open block extension rules in the form:
|
||||
* array(
|
||||
* [
|
||||
* 'name' => function (&$res) {}
|
||||
* )
|
||||
* ]
|
||||
* See SSTemplateParser::OpenBlock_Handle_Base_tag for an example of what the callable should look like
|
||||
* @var array
|
||||
*/
|
||||
protected $openBlocks = array();
|
||||
protected $openBlocks = [];
|
||||
|
||||
/**
|
||||
* Allow the injection of new closed & open block callables
|
||||
* @param array $closedBlocks
|
||||
* @param array $openBlocks
|
||||
*/
|
||||
public function __construct($closedBlocks = array(), $openBlocks = array())
|
||||
public function __construct($closedBlocks = [], $openBlocks = [])
|
||||
{
|
||||
parent::__construct(null);
|
||||
$this->setClosedBlocks($closedBlocks);
|
||||
@ -136,7 +136,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
*/
|
||||
public function setClosedBlocks($closedBlocks)
|
||||
{
|
||||
$this->closedBlocks = array();
|
||||
$this->closedBlocks = [];
|
||||
foreach ((array) $closedBlocks as $name => $callable) {
|
||||
$this->addClosedBlock($name, $callable);
|
||||
}
|
||||
@ -152,7 +152,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
*/
|
||||
public function setOpenBlocks($openBlocks)
|
||||
{
|
||||
$this->openBlocks = array();
|
||||
$this->openBlocks = [];
|
||||
foreach ((array) $openBlocks as $name => $callable) {
|
||||
$this->addOpenBlock($name, $callable);
|
||||
}
|
||||
@ -270,7 +270,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
function Lookup__construct(&$res)
|
||||
{
|
||||
$res['php'] = '$scope->locally()';
|
||||
$res['LookupSteps'] = array();
|
||||
$res['LookupSteps'] = [];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -285,7 +285,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$property = $sub['Call']['Method']['text'];
|
||||
|
||||
if (isset($sub['Call']['CallArguments']) && $arguments = $sub['Call']['CallArguments']['php']) {
|
||||
$res['php'] .= "->$method('$property', array($arguments), true)";
|
||||
$res['php'] .= "->$method('$property', [$arguments], true)";
|
||||
} else {
|
||||
$res['php'] .= "->$method('$property', null, true)";
|
||||
}
|
||||
@ -346,7 +346,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
|
||||
function InjectionVariables__construct(&$res)
|
||||
{
|
||||
$res['php'] = "array(";
|
||||
$res['php'] = "[";
|
||||
}
|
||||
|
||||
function InjectionVariables_InjectionName(&$res, $sub)
|
||||
@ -364,7 +364,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
if (substr($res['php'], -1) == ',') {
|
||||
$res['php'] = substr($res['php'], 0, -1); //remove last comma in the array
|
||||
}
|
||||
$res['php'] .= ')';
|
||||
$res['php'] .= ']';
|
||||
}
|
||||
|
||||
|
||||
@ -873,7 +873,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
*/
|
||||
function Include__construct(&$res)
|
||||
{
|
||||
$res['arguments'] = array();
|
||||
$res['arguments'] = [];
|
||||
}
|
||||
|
||||
function Include_Template(&$res, $sub)
|
||||
@ -892,8 +892,8 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$arguments = $res['arguments'];
|
||||
|
||||
// Note: 'type' here is important to disable subTemplates in SSViewer::getSubtemplateFor()
|
||||
$res['php'] = '$val .= \\SilverStripe\\View\\SSViewer::execute_template([["type" => "Includes", '.$template.'], '.$template.'], $scope->getItem(), array(' .
|
||||
implode(',', $arguments)."), \$scope, true);\n";
|
||||
$res['php'] = '$val .= \\SilverStripe\\View\\SSViewer::execute_template([["type" => "Includes", '.$template.'], '.$template.'], $scope->getItem(), [' .
|
||||
implode(',', $arguments)."], \$scope, true);\n";
|
||||
|
||||
if ($this->includeDebuggingComments) { // Add include filename comments on dev sites
|
||||
$res['php'] =
|
||||
@ -946,7 +946,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
function ClosedBlock_BlockArguments(&$res, $sub)
|
||||
{
|
||||
if (isset($sub['Argument']['ArgumentMode'])) {
|
||||
$res['Arguments'] = array($sub['Argument']);
|
||||
$res['Arguments'] = [$sub['Argument']];
|
||||
$res['ArgumentCount'] = 1;
|
||||
} else {
|
||||
$res['Arguments'] = $sub['Argument'];
|
||||
@ -1037,7 +1037,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
function OpenBlock_BlockArguments(&$res, $sub)
|
||||
{
|
||||
if (isset($sub['Argument']['ArgumentMode'])) {
|
||||
$res['Arguments'] = array($sub['Argument']);
|
||||
$res['Arguments'] = [$sub['Argument']];
|
||||
$res['ArgumentCount'] = 1;
|
||||
} else {
|
||||
$res['Arguments'] = $sub['Argument'];
|
||||
|
@ -63,30 +63,30 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
|
||||
/**
|
||||
* Stores the user-supplied closed block extension rules in the form:
|
||||
* array(
|
||||
* [
|
||||
* 'name' => function (&$res) {}
|
||||
* )
|
||||
* ]
|
||||
* See SSTemplateParser::ClosedBlock_Handle_Loop for an example of what the callable should look like
|
||||
* @var array
|
||||
*/
|
||||
protected $closedBlocks = array();
|
||||
protected $closedBlocks = [];
|
||||
|
||||
/**
|
||||
* Stores the user-supplied open block extension rules in the form:
|
||||
* array(
|
||||
* [
|
||||
* 'name' => function (&$res) {}
|
||||
* )
|
||||
* ]
|
||||
* See SSTemplateParser::OpenBlock_Handle_Base_tag for an example of what the callable should look like
|
||||
* @var array
|
||||
*/
|
||||
protected $openBlocks = array();
|
||||
protected $openBlocks = [];
|
||||
|
||||
/**
|
||||
* Allow the injection of new closed & open block callables
|
||||
* @param array $closedBlocks
|
||||
* @param array $openBlocks
|
||||
*/
|
||||
public function __construct($closedBlocks = array(), $openBlocks = array())
|
||||
public function __construct($closedBlocks = [], $openBlocks = [])
|
||||
{
|
||||
parent::__construct(null);
|
||||
$this->setClosedBlocks($closedBlocks);
|
||||
@ -115,7 +115,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
*/
|
||||
public function setClosedBlocks($closedBlocks)
|
||||
{
|
||||
$this->closedBlocks = array();
|
||||
$this->closedBlocks = [];
|
||||
foreach ((array) $closedBlocks as $name => $callable) {
|
||||
$this->addClosedBlock($name, $callable);
|
||||
}
|
||||
@ -131,7 +131,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
*/
|
||||
public function setOpenBlocks($openBlocks)
|
||||
{
|
||||
$this->openBlocks = array();
|
||||
$this->openBlocks = [];
|
||||
foreach ((array) $openBlocks as $name => $callable) {
|
||||
$this->addOpenBlock($name, $callable);
|
||||
}
|
||||
@ -743,7 +743,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
function Lookup__construct(&$res)
|
||||
{
|
||||
$res['php'] = '$scope->locally()';
|
||||
$res['LookupSteps'] = array();
|
||||
$res['LookupSteps'] = [];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -758,7 +758,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$property = $sub['Call']['Method']['text'];
|
||||
|
||||
if (isset($sub['Call']['CallArguments']) && $arguments = $sub['Call']['CallArguments']['php']) {
|
||||
$res['php'] .= "->$method('$property', array($arguments), true)";
|
||||
$res['php'] .= "->$method('$property', [$arguments], true)";
|
||||
} else {
|
||||
$res['php'] .= "->$method('$property', null, true)";
|
||||
}
|
||||
@ -980,7 +980,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
|
||||
function InjectionVariables__construct(&$res)
|
||||
{
|
||||
$res['php'] = "array(";
|
||||
$res['php'] = "[";
|
||||
}
|
||||
|
||||
function InjectionVariables_InjectionName(&$res, $sub)
|
||||
@ -998,7 +998,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
if (substr($res['php'], -1) == ',') {
|
||||
$res['php'] = substr($res['php'], 0, -1); //remove last comma in the array
|
||||
}
|
||||
$res['php'] .= ')';
|
||||
$res['php'] .= ']';
|
||||
}
|
||||
|
||||
|
||||
@ -1118,7 +1118,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$matchrule = "QuotedString"; $result = $this->construct($matchrule, $matchrule, null);
|
||||
$_143 = NULL;
|
||||
do {
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "q" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "q" );
|
||||
if (( $subres = $this->rx( '/[\'"]/' ) ) !== FALSE) {
|
||||
$result["text"] .= $subres;
|
||||
$subres = $result; $result = array_pop($stack);
|
||||
@ -1128,7 +1128,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$result = array_pop($stack);
|
||||
$_143 = FALSE; break;
|
||||
}
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "String" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "String" );
|
||||
if (( $subres = $this->rx( '/ (\\\\\\\\ | \\\\. | [^'.$this->expression($result, $stack, 'q').'\\\\])* /' ) ) !== FALSE) {
|
||||
$result["text"] .= $subres;
|
||||
$subres = $result; $result = array_pop($stack);
|
||||
@ -1481,7 +1481,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$pos_200 = $this->pos;
|
||||
$_199 = NULL;
|
||||
do {
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Not" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Not" );
|
||||
if (( $subres = $this->literal( 'not' ) ) !== FALSE) {
|
||||
$result["text"] .= $subres;
|
||||
$subres = $result; $result = array_pop($stack);
|
||||
@ -1876,7 +1876,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
else { $_275 = FALSE; break; }
|
||||
if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
else { $_275 = FALSE; break; }
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Call" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Call" );
|
||||
$_271 = NULL;
|
||||
do {
|
||||
$matcher = 'match_'.'Word'; $key = $matcher; $pos = $this->pos;
|
||||
@ -2363,7 +2363,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$_364 = NULL;
|
||||
do {
|
||||
if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Conditional" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Conditional" );
|
||||
$_360 = NULL;
|
||||
do {
|
||||
$_358 = NULL;
|
||||
@ -2769,7 +2769,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
if (( $subres = $this->literal( '<%' ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
else { $_492 = FALSE; break; }
|
||||
if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "CacheTag" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "CacheTag" );
|
||||
$_445 = NULL;
|
||||
do {
|
||||
$_443 = NULL;
|
||||
@ -2828,7 +2828,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$_461 = NULL;
|
||||
do {
|
||||
if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Conditional" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Conditional" );
|
||||
$_457 = NULL;
|
||||
do {
|
||||
$_455 = NULL;
|
||||
@ -3481,7 +3481,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
|
||||
function Include__construct(&$res)
|
||||
{
|
||||
$res['arguments'] = array();
|
||||
$res['arguments'] = [];
|
||||
}
|
||||
|
||||
function Include_Template(&$res, $sub)
|
||||
@ -3500,8 +3500,8 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
$arguments = $res['arguments'];
|
||||
|
||||
// Note: 'type' here is important to disable subTemplates in SSViewer::getSubtemplateFor()
|
||||
$res['php'] = '$val .= \\SilverStripe\\View\\SSViewer::execute_template([["type" => "Includes", '.$template.'], '.$template.'], $scope->getItem(), array(' .
|
||||
implode(',', $arguments)."), \$scope, true);\n";
|
||||
$res['php'] = '$val .= \\SilverStripe\\View\\SSViewer::execute_template([["type" => "Includes", '.$template.'], '.$template.'], $scope->getItem(), [' .
|
||||
implode(',', $arguments)."], \$scope, true);\n";
|
||||
|
||||
if ($this->includeDebuggingComments) { // Add include filename comments on dev sites
|
||||
$res['php'] =
|
||||
@ -3768,7 +3768,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
unset( $pos_622 );
|
||||
}
|
||||
if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Zap" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Zap" );
|
||||
if (( $subres = $this->literal( '%>' ) ) !== FALSE) {
|
||||
$result["text"] .= $subres;
|
||||
$subres = $result; $result = array_pop($stack);
|
||||
@ -3833,7 +3833,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
function ClosedBlock_BlockArguments(&$res, $sub)
|
||||
{
|
||||
if (isset($sub['Argument']['ArgumentMode'])) {
|
||||
$res['Arguments'] = array($sub['Argument']);
|
||||
$res['Arguments'] = [$sub['Argument']];
|
||||
$res['ArgumentCount'] = 1;
|
||||
} else {
|
||||
$res['Arguments'] = $sub['Argument'];
|
||||
@ -3981,7 +3981,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
function OpenBlock_BlockArguments(&$res, $sub)
|
||||
{
|
||||
if (isset($sub['Argument']['ArgumentMode'])) {
|
||||
$res['Arguments'] = array($sub['Argument']);
|
||||
$res['Arguments'] = [$sub['Argument']];
|
||||
$res['ArgumentCount'] = 1;
|
||||
} else {
|
||||
$res['Arguments'] = $sub['Argument'];
|
||||
@ -4178,7 +4178,7 @@ class SSTemplateParser extends Parser implements TemplateParser
|
||||
if (( $subres = $this->literal( '<%' ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
else { $_680 = FALSE; break; }
|
||||
if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Tag" );
|
||||
$stack[] = $result; $result = $this->construct( $matchrule, "Tag" );
|
||||
$_674 = NULL;
|
||||
do {
|
||||
if (( $subres = $this->literal( 'end_' ) ) !== FALSE) { $result["text"] .= $subres; }
|
||||
|
@ -27,7 +27,7 @@ interface TemplateGlobalProvider
|
||||
* @return array Returns an array of items. Each key => value pair is one of three forms:
|
||||
* - template name (no key)
|
||||
* - template name => method name
|
||||
* - template name => array(), where the array can contain these key => value pairs
|
||||
* - template name => [], where the array can contain these key => value pairs
|
||||
* - "method" => method name
|
||||
* - "casting" => casting class to use (i.e., Varchar, HTMLFragment, etc)
|
||||
*/
|
||||
|
@ -42,12 +42,12 @@ function checkenv($envs)
|
||||
return true;
|
||||
}
|
||||
|
||||
$opts = getopt('', array(
|
||||
$opts = getopt('', [
|
||||
'artifacts-path:',
|
||||
'target-path:',
|
||||
'if-env:',
|
||||
'artifacts-base-url:',
|
||||
));
|
||||
]);
|
||||
|
||||
// --if-env=BEHAT_TEST means that this script will only be executed if the given environment var is set
|
||||
if (empty($opts['if-env'])) {
|
||||
|
@ -3,11 +3,11 @@
|
||||
// Fake the script name and base
|
||||
global $_SERVER;
|
||||
if (!$_SERVER) {
|
||||
$_SERVER = array();
|
||||
$_SERVER = [];
|
||||
}
|
||||
|
||||
// We update the $_SERVER variable to contain data consistent with the rest of the application.
|
||||
$_SERVER = array_merge(array(
|
||||
$_SERVER = array_merge([
|
||||
'SERVER_PROTOCOL' => 'HTTP/1.1',
|
||||
'HTTP_ACCEPT' => 'text/plain;q=0.5',
|
||||
'HTTP_ACCEPT_LANGUAGE' => '*;q=0.5',
|
||||
@ -20,7 +20,7 @@ $_SERVER = array_merge(array(
|
||||
'REMOTE_ADDR' => '127.0.0.1',
|
||||
'REQUEST_METHOD' => 'GET',
|
||||
'HTTP_USER_AGENT' => 'CLI',
|
||||
), $_SERVER);
|
||||
], $_SERVER);
|
||||
|
||||
$frameworkPath = dirname(dirname(__FILE__));
|
||||
$frameworkDir = basename($frameworkPath);
|
||||
@ -32,16 +32,16 @@ $_SERVER['SCRIPT_NAME'] = '.' . DIRECTORY_SEPARATOR . $frameworkDir . DIRECTORY_
|
||||
if (isset($_SERVER['argv'][2])) {
|
||||
$args = array_slice($_SERVER['argv'], 2);
|
||||
if (!isset($_GET)) {
|
||||
$_GET = array();
|
||||
$_GET = [];
|
||||
}
|
||||
if (!isset($_REQUEST)) {
|
||||
$_REQUEST = array();
|
||||
$_REQUEST = [];
|
||||
}
|
||||
foreach ($args as $arg) {
|
||||
if (strpos($arg, '=') == false) {
|
||||
$_GET['args'][] = $arg;
|
||||
} else {
|
||||
$newItems = array();
|
||||
$newItems = [];
|
||||
parse_str((substr($arg, 0, 2) == '--') ? substr($arg, 2) : $arg, $newItems);
|
||||
$_GET = array_merge($_GET, $newItems);
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ class UnsecuredController extends Controller implements TestOnly
|
||||
private static $url_segment = 'UnsecuredController';
|
||||
|
||||
// Not defined, allow access to all
|
||||
// static $allowed_actions = array();
|
||||
// static $allowed_actions = [];
|
||||
|
||||
// Granted for all
|
||||
public function method1()
|
||||
|
@ -290,7 +290,7 @@ class ObjectTest extends SapphireTest
|
||||
$objectTest_ExtensionTest->hasExtension(ExtendTest3::class),
|
||||
"Extensions are detected with instance hasExtension() when added through add_extension()"
|
||||
);
|
||||
|
||||
|
||||
// load in a custom implementation
|
||||
Injector::inst()->registerService(new ExtendTest5(), ExtendTest4::class);
|
||||
$this->assertTrue(
|
||||
@ -441,7 +441,7 @@ class ObjectTest extends SapphireTest
|
||||
// True, false and null values
|
||||
$this->assertEquals(
|
||||
['ClassName', ['string', true, ['string', false]]],
|
||||
ClassInfo::parse_class_spec('ClassName("string", true, array("string", false))')
|
||||
ClassInfo::parse_class_spec('ClassName("string", true, ["string", false])')
|
||||
);
|
||||
$this->assertEquals(
|
||||
['ClassName', [true, false, null]],
|
||||
@ -451,7 +451,7 @@ class ObjectTest extends SapphireTest
|
||||
// Array
|
||||
$this->assertEquals(
|
||||
['Enum', [['Accepted', 'Pending', 'Declined', 'Unsubmitted'], 'Unsubmitted']],
|
||||
ClassInfo::parse_class_spec("Enum(array('Accepted', 'Pending', 'Declined', 'Unsubmitted'), 'Unsubmitted')")
|
||||
ClassInfo::parse_class_spec("Enum(['Accepted', 'Pending', 'Declined', 'Unsubmitted'], 'Unsubmitted')")
|
||||
);
|
||||
// Nested array
|
||||
$this->assertEquals(
|
||||
@ -463,7 +463,7 @@ class ObjectTest extends SapphireTest
|
||||
]
|
||||
],
|
||||
ClassInfo::parse_class_spec(
|
||||
"Enum(array('Accepted', 'Pending', 'Declined', array('UnsubmittedA','UnsubmittedB')), 'Unsubmitted')"
|
||||
"Enum(['Accepted', 'Pending', 'Declined', ['UnsubmittedA','UnsubmittedB']], 'Unsubmitted')"
|
||||
)
|
||||
);
|
||||
// 5.4 Shorthand Array
|
||||
@ -488,12 +488,12 @@ class ObjectTest extends SapphireTest
|
||||
// Associative array
|
||||
$this->assertEquals(
|
||||
['Varchar', [255, ['nullifyEmpty' => false]]],
|
||||
ClassInfo::parse_class_spec("Varchar(255, array('nullifyEmpty' => false))")
|
||||
ClassInfo::parse_class_spec("Varchar(255, ['nullifyEmpty' => false])")
|
||||
);
|
||||
// Nested associative array
|
||||
$this->assertEquals(
|
||||
['Test', ['string', ['nested' => ['foo' => 'bar']]]],
|
||||
ClassInfo::parse_class_spec("Test('string', array('nested' => array('foo' => 'bar')))")
|
||||
ClassInfo::parse_class_spec("Test('string', ['nested' => ['foo' => 'bar']])")
|
||||
);
|
||||
// 5.4 shorthand associative array
|
||||
$this->assertEquals(
|
||||
|
@ -446,7 +446,7 @@ class ArrayListTest extends SapphireTest
|
||||
['Name' => 'John'],
|
||||
['Name' => 'bonny'],
|
||||
['Name' => 'bonny1'],
|
||||
//array('Name' => 'bonny10'),
|
||||
//['Name' => 'bonny10'],
|
||||
['Name' => 'bonny2'],
|
||||
];
|
||||
|
||||
@ -456,7 +456,7 @@ class ArrayListTest extends SapphireTest
|
||||
(object) ['Name' => 'Bob'],
|
||||
['Name' => 'bonny'],
|
||||
['Name' => 'bonny1'],
|
||||
//array('Name' => 'bonny10'),
|
||||
//['Name' => 'bonny10'],
|
||||
['Name' => 'bonny2'],
|
||||
['Name' => 'John'],
|
||||
['Name' => 'Steve'],
|
||||
@ -756,7 +756,7 @@ class ArrayListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter('Name', array('Steve', 'John'); // Steve and John in list
|
||||
* $list->filter('Name', ['Steve', 'John']; // Steve and John in list
|
||||
*/
|
||||
public function testSimpleFilterWithMultiple()
|
||||
{
|
||||
@ -777,7 +777,7 @@ class ArrayListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter('Name', array('Steve', 'John'); // negative version
|
||||
* $list->filter('Name', ['Steve', 'John']; // negative version
|
||||
*/
|
||||
public function testSimpleFilterWithMultipleNoMatch()
|
||||
{
|
||||
@ -793,7 +793,7 @@ class ArrayListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter(array('Name'=>'bob, 'Age'=>21)); // bob with the Age 21 in list
|
||||
* $list->filter(['Name'=>'bob, 'Age'=>21]); // bob with the Age 21 in list
|
||||
*/
|
||||
public function testMultipleFilter()
|
||||
{
|
||||
@ -813,7 +813,7 @@ class ArrayListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter(array('Name'=>'bob, 'Age'=>21)); // negative version
|
||||
* $list->filter(['Name'=>'bob, 'Age'=>21]); // negative version
|
||||
*/
|
||||
public function testMultipleFilterNoMatch()
|
||||
{
|
||||
@ -829,7 +829,7 @@ class ArrayListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter(array('Name'=>'Steve', 'Age'=>array(21, 43))); // Steve with the Age 21 or 43
|
||||
* $list->filter(['Name'=>'Steve', 'Age'=>[21, 43]]); // Steve with the Age 21 or 43
|
||||
*/
|
||||
public function testMultipleWithArrayFilter()
|
||||
{
|
||||
@ -853,7 +853,7 @@ class ArrayListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter(array('Name'=>array('aziz','bob'), 'Age'=>array(21, 43)));
|
||||
* $list->filter(['Name'=>['aziz','bob'], 'Age'=>[21, 43]]);
|
||||
*/
|
||||
public function testMultipleWithArrayFilterAdvanced()
|
||||
{
|
||||
@ -900,7 +900,7 @@ class ArrayListTest extends SapphireTest
|
||||
$this->assertContains($bob, $filteredList);
|
||||
|
||||
// azis or bob in the list
|
||||
//$list = $list->filterAny('Name', array('aziz', 'bob');
|
||||
//$list = $list->filterAny('Name', ['aziz', 'bob']);
|
||||
$filteredList = $list->filterAny('Name', ['Aziz', 'Bob'])->toArray();
|
||||
$this->assertCount(1, $filteredList);
|
||||
$this->assertContains($bob, $filteredList);
|
||||
@ -911,7 +911,7 @@ class ArrayListTest extends SapphireTest
|
||||
$this->assertContains($bob, $filteredList);
|
||||
|
||||
// bob or anyone aged 21 in the list
|
||||
//$list = $list->filterAny(array('Name'=>'bob, 'Age'=>21));
|
||||
//$list = $list->filterAny(['Name'=>'bob, 'Age'=>21]);
|
||||
$filteredList = $list->filterAny(['Name' => 'Bob', 'Age' => 21])->toArray();
|
||||
$this->assertCount(4, $filteredList);
|
||||
$this->assertContains($bob, $filteredList);
|
||||
@ -920,7 +920,7 @@ class ArrayListTest extends SapphireTest
|
||||
$this->assertContains($phil, $filteredList);
|
||||
|
||||
// bob or anyone aged 21 or 43 in the list
|
||||
// $list = $list->filterAny(array('Name'=>'bob, 'Age'=>array(21, 43)));
|
||||
// $list = $list->filterAny(['Name'=>'bob, 'Age'=>[21, 43]]);
|
||||
$filteredList = $list->filterAny(['Name' => 'Bob', 'Age' => [21, 43]])->toArray();
|
||||
$this->assertCount(5, $filteredList);
|
||||
$this->assertContains($bob, $filteredList);
|
||||
@ -930,7 +930,7 @@ class ArrayListTest extends SapphireTest
|
||||
$this->assertContains($phil, $filteredList);
|
||||
|
||||
// all bobs, phils or anyone aged 21 or 43 in the list
|
||||
//$list = $list->filterAny(array('Name'=>array('bob','phil'), 'Age'=>array(21, 43)));
|
||||
//$list = $list->filterAny(['Name'=>['bob','phil'], 'Age'=>[21, 43]]);
|
||||
$filteredList = $list->filterAny(['Name' => ['Bob', 'Phil'], 'Age' => [21, 43]])->toArray();
|
||||
$this->assertCount(5, $filteredList);
|
||||
$this->assertContains($bob, $filteredList);
|
||||
|
@ -774,7 +774,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter('Name', array('aziz', 'bob'); // aziz and bob in list
|
||||
* $list->filter('Name', ['aziz', 'bob']); // aziz and bob in list
|
||||
*/
|
||||
public function testSimpleFilterWithMultiple()
|
||||
{
|
||||
@ -794,7 +794,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter(array('Name'=>'bob, 'Age'=>21)); // bob with the age 21
|
||||
* $list->filter(['Name'=>'bob, 'Age'=>21]); // bob with the age 21
|
||||
*/
|
||||
public function testFilterMultipleArray()
|
||||
{
|
||||
@ -833,7 +833,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->filter(array('Name'=>array('aziz','bob'), 'Age'=>array(21, 43)));
|
||||
* $list->filter(['Name'=>['aziz','bob'], 'Age'=>[21, 43]]);
|
||||
*/
|
||||
public function testFilterArrayInArray()
|
||||
{
|
||||
@ -1499,7 +1499,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
//
|
||||
/**
|
||||
* $list->exclude('Name', array('aziz', 'bob'); // exclude aziz and bob from list
|
||||
* $list->exclude('Name', ['aziz', 'bob']); // exclude aziz and bob from list
|
||||
*/
|
||||
public function testSimpleExcludeWithMultiple()
|
||||
{
|
||||
@ -1510,7 +1510,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->exclude(array('Name'=>'bob, 'Age'=>21)); // negative version
|
||||
* $list->exclude(['Name'=>'bob, 'Age'=>21]); // negative version
|
||||
*/
|
||||
public function testMultipleExcludeWithMiss()
|
||||
{
|
||||
@ -1520,7 +1520,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->exclude(array('Name'=>'bob, 'Age'=>21)); // exclude bob that has Age 21
|
||||
* $list->exclude(['Name'=>'bob, 'Age'=>21]); // exclude bob that has Age 21
|
||||
*/
|
||||
public function testMultipleExclude()
|
||||
{
|
||||
@ -1531,7 +1531,7 @@ class DataListTest extends SapphireTest
|
||||
|
||||
/**
|
||||
* Test doesn't exclude if only matches one
|
||||
* $list->exclude(array('Name'=>'bob, 'Age'=>21)); // exclude bob that has Age 21
|
||||
* $list->exclude(['Name'=>'bob, 'Age'=>21]); // exclude bob that has Age 21
|
||||
*/
|
||||
public function testMultipleExcludeMultipleMatches()
|
||||
{
|
||||
@ -1711,7 +1711,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->exclude(array('Name'=>'bob, 'Age'=>array(21, 43))); // exclude bob with Age 21 or 43
|
||||
* $list->exclude(['Name'=>'bob, 'Age'=>[21, 43]]); // exclude bob with Age 21 or 43
|
||||
*/
|
||||
public function testMultipleExcludeWithMultipleThatCheersEitherTeam()
|
||||
{
|
||||
@ -1729,7 +1729,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->exclude(array('Name'=>'bob, 'Age'=>array(21, 43))); // negative version
|
||||
* $list->exclude(['Name'=>'bob, 'Age'=>[21, 43]]); // negative version
|
||||
*/
|
||||
public function testMultipleExcludeWithMultipleThatCheersOnNonExistingTeam()
|
||||
{
|
||||
@ -1739,7 +1739,7 @@ class DataListTest extends SapphireTest
|
||||
}
|
||||
|
||||
/**
|
||||
* $list->exclude(array('Name'=>array('bob','phil'), 'Age'=>array(21, 43))); //negative version
|
||||
* $list->exclude(['Name'=>['bob','phil'], 'Age'=>[21, 43]]); //negative version
|
||||
*/
|
||||
public function testMultipleExcludeWithNoExclusion()
|
||||
{
|
||||
|
@ -173,7 +173,7 @@ class DataObjectTest extends SapphireTest
|
||||
);
|
||||
|
||||
// assertEquals doesn't verify the order of array elements, so access keys manually to check order:
|
||||
// expected: array('Name' => 'Varchar', 'Comment' => 'HTMLText')
|
||||
// expected: ['Name' => 'Varchar', 'Comment' => 'HTMLText']
|
||||
$this->assertEquals(
|
||||
[
|
||||
'Name',
|
||||
@ -594,7 +594,7 @@ class DataObjectTest extends SapphireTest
|
||||
// Test the IDs on the DataObjects are set correctly
|
||||
$this->assertListEquals($team1Comments, $team1->Comments());
|
||||
|
||||
// Test that has_many can be infered from the has_one via getNonReciprocalComponent
|
||||
// Test that has_many can be inferred from the has_one via getNonReciprocalComponent
|
||||
$this->assertListEquals(
|
||||
$team1Comments,
|
||||
$team1->inferReciprocalComponent(DataObjectTest\TeamComment::class, 'Team')
|
||||
@ -1704,7 +1704,7 @@ class DataObjectTest extends SapphireTest
|
||||
$this->assertInstanceOf(ManyManyList::class, $teamWithoutSponsor->Sponsors());
|
||||
$this->assertEquals(0, $teamWithoutSponsor->Sponsors()->count());
|
||||
|
||||
// Test that belongs_many_many can be infered from with getNonReciprocalComponent
|
||||
// Test that belongs_many_many can be inferred from with getNonReciprocalComponent
|
||||
$this->assertListEquals(
|
||||
[
|
||||
['Name' => 'Company corp'],
|
||||
@ -1713,7 +1713,7 @@ class DataObjectTest extends SapphireTest
|
||||
$team->inferReciprocalComponent(DataObjectTest\EquipmentCompany::class, 'SponsoredTeams')
|
||||
);
|
||||
|
||||
// Test that many_many can be infered from getNonReciprocalComponent
|
||||
// Test that many_many can be inferred from getNonReciprocalComponent
|
||||
$this->assertListEquals(
|
||||
[
|
||||
['Title' => 'Team 1'],
|
||||
@ -2149,20 +2149,20 @@ class DataObjectTest extends SapphireTest
|
||||
|
||||
$this->assertEquals($company->ID, $ceo->Company()->ID, 'belongs_to returns the right results.');
|
||||
|
||||
// Test belongs_to can be infered via getNonReciprocalComponent
|
||||
// Test belongs_to can be inferred via getNonReciprocalComponent
|
||||
// Note: Will be returned as has_many since the belongs_to is ignored.
|
||||
$this->assertListEquals(
|
||||
[['Name' => 'New Company']],
|
||||
$ceo->inferReciprocalComponent(DataObjectTest\Company::class, 'CEO')
|
||||
);
|
||||
|
||||
// Test has_one to a belongs_to can be infered via getNonReciprocalComponent
|
||||
// Test has_one to a belongs_to can be inferred via getNonReciprocalComponent
|
||||
$this->assertEquals(
|
||||
$ceo->ID,
|
||||
$company->inferReciprocalComponent(DataObjectTest\CEO::class, 'Company')->ID
|
||||
);
|
||||
|
||||
// Test automatic creation of class where no assigment exists
|
||||
// Test automatic creation of class where no assignment exists
|
||||
$ceo = new DataObjectTest\CEO();
|
||||
$ceo->write();
|
||||
|
||||
@ -2443,7 +2443,7 @@ class DataObjectTest extends SapphireTest
|
||||
$root->CycleID = $grandchild->ID;
|
||||
$root->write();
|
||||
|
||||
// Our count will have been set while loading our fixtures, let's reset eveything back to 0
|
||||
// Our count will have been set while loading our fixtures, let's reset everything back to 0
|
||||
TreeNode::singleton()->resetCounts();
|
||||
$root = TreeNode::get()->byID($root->ID);
|
||||
$child = TreeNode::get()->byID($child->ID);
|
||||
@ -2487,7 +2487,7 @@ class DataObjectTest extends SapphireTest
|
||||
$root->CycleID = $grandchild->ID;
|
||||
$root->write();
|
||||
|
||||
// Our count will have been set while loading our fixtures, let's reset eveything back to 0
|
||||
// Our count will have been set while loading our fixtures, let's reset everything back to 0
|
||||
TreeNode::singleton()->resetCounts();
|
||||
$root = TreeNode::get()->byID($root->ID);
|
||||
$child = TreeNode::get()->byID($child->ID);
|
||||
|
@ -10,6 +10,6 @@ class CastingClass extends ViewableData implements TestOnly
|
||||
private static $casting = [
|
||||
'Field' => 'CastingType',
|
||||
'Argument' => 'ArgumentType(Argument)',
|
||||
'ArrayArgument' => 'ArrayArgumentType(array(foo, bar))'
|
||||
'ArrayArgument' => 'ArrayArgumentType([foo, bar])'
|
||||
];
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ use SilverStripe\ORM\DataExtension;
|
||||
class i18nTestModuleExtension extends DataExtension
|
||||
{
|
||||
|
||||
public static $db = array(
|
||||
public static $db = [
|
||||
'MyExtraField' => 'Varchar'
|
||||
);
|
||||
];
|
||||
}
|
||||
|
@ -5,9 +5,9 @@ use SilverStripe\Dev\TestOnly;
|
||||
|
||||
class i18nTestModule extends DataObject implements TestOnly
|
||||
{
|
||||
private static $db = array(
|
||||
private static $db = [
|
||||
'MyField' => 'Varchar',
|
||||
);
|
||||
];
|
||||
|
||||
public function myMethod()
|
||||
{
|
||||
|
@ -388,11 +388,11 @@ PHP;
|
||||
$php = <<<PHP
|
||||
_t('i18nTestModule.NEWMETHODSIG',"New _t method signature test");
|
||||
_t('i18nTestModule.INJECTIONS2', "Hello {name} {greeting}. But it is late, {goodbye}",
|
||||
array("name"=>"Paul", "greeting"=>"good you are here", "goodbye"=>"see you"));
|
||||
["name"=>"Paul", "greeting"=>"good you are here", "goodbye"=>"see you"]);
|
||||
_t("i18nTestModule.INJECTIONS3", "Hello {name} {greeting}. But it is late, {goodbye}",
|
||||
"New context (this should be ignored)",
|
||||
array("name"=>"Steffen", "greeting"=>"willkommen", "goodbye"=>"wiedersehen"));
|
||||
_t('i18nTestModule.INJECTIONS4', array("name"=>"Cat", "greeting"=>"meow", "goodbye"=>"meow"));
|
||||
["name"=>"Steffen", "greeting"=>"willkommen", "goodbye"=>"wiedersehen"]);
|
||||
_t('i18nTestModule.INJECTIONS4', ["name"=>"Cat", "greeting"=>"meow", "goodbye"=>"meow"]);
|
||||
_t('i18nTestModule.INJECTIONS6', "Hello {name} {greeting}. But it is late, {goodbye}",
|
||||
["name"=>"Paul", "greeting"=>"good you are here", "goodbye"=>"see you"]);
|
||||
_t("i18nTestModule.INJECTIONS7", "Hello {name} {greeting}. But it is late, {goodbye}",
|
||||
@ -429,7 +429,7 @@ PHP;
|
||||
$this->expectExceptionMessage('Missing localisation default for key i18nTestModule.INJECTIONS4');
|
||||
|
||||
$php = <<<PHP
|
||||
_t('i18nTestModule.INJECTIONS4', array("name"=>"Cat", "greeting"=>"meow", "goodbye"=>"meow"));
|
||||
_t('i18nTestModule.INJECTIONS4', ["name"=>"Cat", "greeting"=>"meow", "goodbye"=>"meow"]);
|
||||
PHP;
|
||||
$c->setWarnOnEmptyDefault(true);
|
||||
$c->collectFromCode($php, null, $mymodule);
|
||||
|
@ -10,12 +10,12 @@ if (!empty($_SERVER['argv'][1])) {
|
||||
die("Usage: php {$_SERVER['argv'][0]} <file>\n");
|
||||
}
|
||||
|
||||
$result = array('comments' => array());
|
||||
$result = ['comments' => []];
|
||||
|
||||
$extension = pathinfo($path, PATHINFO_EXTENSION);
|
||||
|
||||
// Whitelist of extensions to check (default phpcs list)
|
||||
if (in_array($extension, array('php', 'js', 'inc', 'css'))) {
|
||||
if (in_array($extension, ['php', 'js', 'inc', 'css'])) {
|
||||
// Run each sniff
|
||||
|
||||
// phpcs --encoding=utf-8 --standard=framework/tests/phpcs/tabs.xml
|
||||
@ -42,11 +42,11 @@ function run_sniff($standard, $path, array &$result, $extraFlags = '')
|
||||
$sanePath = str_replace('/', '_', $path);
|
||||
foreach ($errors as $error) {
|
||||
$attributes = $error->attributes();
|
||||
$result['comments'][] = array(
|
||||
$result['comments'][] = [
|
||||
'line' => (int)strval($attributes->line),
|
||||
'id' => $standard . '-' . $sanePath . '-' . $attributes->line . '-' . $attributes->column,
|
||||
'message' => strval($error)
|
||||
);
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user