как возможно использовать оператора =>?

Оператор => он используется в php, чтобы производить arrays ассоциативные, но...: он используется кроме того, чтобы соглашаться на свойства в классах? Я это комментирую, из-за которого, увидев это:

 PDO::MYSQL_ATTR_INIT_COMMAND => 'SET_NAMES ' . DB_CHAR

он дает мне печать, которая так. Кроме использования тем, что объявляет стоимость в arrays ассоциативные. как возможно использовать оператора => ?

1
задан 07.03.2019, 04:41
2 ответа

Он состоит errГіneo в том, чтобы думать, что => служит для того, чтобы согласиться на свойства класса. Не estГЎ определенный asГ - в PHP. Она documentaciГіn показывает со всей ясностью, что на свойства класса соглашаются посредством оператора объекта -> или посредством ::, если говорилось о свойстве estГЎtica.

Внутри них mГ©todos класса, возможно соглашаться на свойства не estГЎticas используя -> (оператор объекта): $this->propiedad (где свойство - имя свойства). На свойства estГЎticas возможно соглашаться используя:: (я удвоил две точки): self::$propiedad.

Пример, который ты показываешь в твоем вопросе, используется в контексте array, , как могут видеть в Пример 1 из Учебника PHP . В PHP оператор => используется только рожает присоединять ключи => стоимость в arrays.

QuizГЎ ты confusiГіn придите, потому что точно благосклонно принятый PDO в строителе третьем parГЎmetro в форме array ассоциативный , где ты можешь показывать другие конфигурации объекта, как это могут быть charset, состоянием состязавшихся приготовлений, cГіmo manejarГЎn исключения, quГ© mГ©todo fetch по умолчанию, и т.д., как хорошо он объясняет она documentaciГіn :

options

array основной формы => стоимость с выборами conexiГіn especГ-ficas драйвера.

Следует сказать ademГЎs, что использование PDO::MYSQL_ATTR_INIT_COMMAND, которые ты показываешь, - для старых версий PHP (предыдущие 5.3.6), а следовательно он говорит тот же Учебник:

5.3.6 Перед versiГіn 5.3.6, charset был проигнорирован.

В последующих версиях - mГЎs выгодно setear charset прямо в DSN, poniГ©ndolo despuГ©s имени базы данных, например:

$mPDO = new PDO('dblib:host=your_hostname;dbname=your_db;charset=UTF-8', $user, $pass);
1
ответ дан 19.11.2019, 22:30

AquГ - соединяются две концепции:

1 - Во-первых оператор => то, что он делает, состоит в том, чтобы показывать принадлежность в ассоциативном Array или скорее в Ас Табле (или таблица hash).

Например, этот cГіdigo:

$myArray = [
    'name' => 'Wolverine',
    'power' => 'healing factor'
];

Производит ассоциативный array, с, где в левую сторону показывается key и в правую сторону стоимость.

2 - Свойства estГЎticas. SegГєn OOP у классов могут быть свойства и mГ©todos stГЎticos. Эти могут быть призванными с самого класса без необходимости instanciar. Изданные

: PHP в свою очередь, позволь считать постоянных величин свойствами класса, которые pГєblicas. Те же самые - pГєblicas.

Например:

class Mutant {
    const PLANET = 'Earth'; //constante
    static $factor = 'x'; //propiedad estática
}


echo "Un mutante es del planeta: ".Mutant::PLANET." y tiene un factor: ".Mutant::$factor;

MostrarГЎ текст:

Un mutante es del planeta: Earth y tiene un factor: x

Окончательно в cГіdigo, который ты консультируешь, PDO:: MYSQL_ATTR_INIT_COMMAND является постоянной величиной класса PDO, которая используется для того, чтобы показывать key в ассоциативном array.

4
ответ дан 19.11.2019, 22:30
  • 1
    Ты мог бы прояснять, где он состоит в том, что классы (согласно POO) с постоянным свойством (которое отличное от статики) могут быть соглашенными без необходимости инстанции? потому что он я звучит в теоретическую грубую ошибку (возможно php позвольте это, но это не верно в других языках и это не стандарт программирования, ориентируемого на объекты) – gbianchi♦ 07.03.2019, 06:01
  • 2
    Ты имеешь razó n, я вижу, что я lí ado в момент писания. Уже сам я издаю для того, чтобы он остался ясным, и не производить confusió n (или не пропагандировать информацию erró neo). – iMangas 07.03.2019, 06:06

Теги

Похожие вопросы