пятница, 31 марта 2017 г.

PHP ООП. Работа с модификатором static

Статичные переменные и методы нужно использовать, когда нет экземпляра.

Student::$total_students
Student::welcome_students()
self::$total_students++

Статичные методы должны идти вместе и вызывать статичные вещи. Не смешивайте статичные и нестатичные методы.

PHP ООП. Использование сеттеров и геттеров

Придании свойствам области видимости "Приватное" не ограничивает доступа к ним через методы. Геттеры и сеттеры - методы с упрощенным (не явным) синтаксисом вызова. Свойство к которому никто не имеет доступа не имеет смысла.

PHP ООП. Установка модификаторов доступа

public = делает метод доступным отовсюду.

private = доступный только внутри этого класса.

protected = можно вызывать из этого класса и подклассов этого класса.

PHP ООП. Понимание наследования класса

extends
Есть возможность наследовать все атрибуты и методы. Также можем их переписать, если не хотим их использовать.
get_parent_class — возвращает имя родительского класса для объекта или класса.

is_subclass_of — проверяет, содержит ли объект в своем дереве предков указанный класс либо прямо реализует его.

четверг, 30 марта 2017 г.

PHP ООП. Определение свойств класса

Свойства класса - это обычные переменные только внутри класса.

PHP ООП. Ссылка на экземпляр

Псевдопеременная $this используется, как ссылка на вызываемый объект, когда нам нужно вызвать метод из объекта.

PHP ООП. Инстанцирование класса

Инстанцирование класса - создание экземпляра класса.
Это похоже на отрывание листочков бумаги для записи на них информации о человеке, который звонил по телефону. Листочки одинаковые (наш класс), а заполнятся они будут разной информацией (экземплярами класса).

PHP ООП. Определение методов класса

Методы объектно-ориентированного программирования PHP – это обычные функции, которые описываются непосредственно в структуре класса.

PHP ООП. Определение классов

Каждое определение класса начинается с ключевого слова class, затем следует имя класса, и далее пара фигурных скобок, которые заключают в себе определение свойств и методов этого класса.

PHP. Использование ссылок как возвращаемых значений функций

Рассмотрим еще одну возможность пользовательских функций PHP - возврат ссылок.
Возвращение по ссылке используется в тех случаях, когда вы хотите использовать функцию для выбора переменной, с которой должна быть связана данная ссылка.

PHP. Использование ссылок в качестве аргументов функции

Вы можете передавать переменные в пользовательскую функцию по ссылке, если вы хотите разрешить функции модифицировать свои аргументы. В таком случае, пользовательская функция сможет изменять аргументы. Синтаксис таков:

<?php
function foo(&$var)
{
     $var++;
}

$a=5;
foo($a);
// $a здесь равно 6
?>

Заметьте, что в вызове функции отсутствует знак ссылки - он есть только в определении функции. Этого достаточно для корректной передачи аргументов по ссылке.

PHP. Присвоение по ссылке

Ссылка — ярлык, алиас. Ее можно удалить, а значение при этом остается нетронутым.
PHP позволяют создать две переменные указывающие на одно и то же значение.

<?php
$a =& $b;
?>
$a указывает на то же значение что и $b.
$a и $b здесь абсолютно эквивалентны, но это не означает, что $a указывает на $b или наоборот. Это означает, что $a и $b указывают на одно и то же значение. 

PHP. Глобальная и статическая область видимости переменных

Глобальные переменные - это переменные, которые доступны всей программе, включая подпрограммы (пользовательские функции).
Локальная переменная — переменная в функции.
Импорт глобальной переменной в локальную область видимости с помощью global $x.
Статическая переменная существует только в локальной области видимости функции, но не теряет своего значения, когда выполнение программы выходит из этой области видимости. 

вторник, 28 марта 2017 г.

PHP. Серверные переменные и переменные запроса

Переменная $_SERVER - это массив, содержащий информацию, такую как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером.
http://php.net/reserved.variables.server

Есть $_REQUEST — Переменные HTTP-запроса. Не используйте ее, т.к она содержит данные из $_GET, $_POST, что является излишним! Когда вам нужны переменные запроса, получайте их из $_SERVER!

PHP. Форматирование дат и времени - Строки и SQL

date — Форматирует вывод системной даты/времени.
string date ( string $format [, int $timestamp = time() ] )
Возвращает строку, отформатированную в соответствии с указанным шаблоном format. Используется метка времени, заданная аргументом timestamp, или текущее системное время, если timestamp не задан. Таким образом, timestamp является необязательным и по умолчанию равен значению, возвращаемому функцией time().
http://php.net/manual/ru/function.date.php

strftime — Форматирует текущую дату/время с учетом текущих настроек локали. РЕКОМЕНДУЕТСЯ, как часть открытого стандарта Unix.
 string strftime ( string $format [, int $timestamp = time() ] )
Форматирует дату/время с учетом текущих настроек локали. Названия месяцев, дней недели и других языко-зависимых строк будут взяты в соответствии с текущими настройками локали, установленной с помощью функции setlocale().
http://php.net/manual/ru/function.strftime.php

PHP. Создание дат и времени - Эпоха Unix

time — Возвращает текущую метку времени Unix.
Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT) до текущего времени.

mktime — Возвращает метку времени Unix для заданной даты.
int mktime ($hr, $min, $sec, $mo, $day, $yr)

strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix.
int strtotime ( string $time [, int $now = time() ] )

checkdate — Проверяет корректность даты по григорианскому календарю.
bool checkdate ( int $month , int $day , int $year)
Проверяет корректность даты по переданным аргументам. Дата считается корректной, если все параметры принимают допустимые значения.
month -  Месяц. Принимает значения от 1 до 12 включительно.
day -  День. Принимает значения, допустимые для указанного месяца month. При этом учитывается, является ли год year високосным.
year -  Год. Принимает значения от 1 до 32767 включительно.
Возвращает TRUE, если проверяемая дата является корректной, или FALSE в противном случае.

PHP. Использование дополнительных функций для массивов

array_shift — Извлекает первый элемент массива.
array_shift() извлекает первое значение массива array и возвращает его, сокращая размер array на один элемент. Все числовые ключи будут изменены таким образом, что нумерация массива начнётся с нуля, в то время как строковые ключи останутся прежними.

array_unshift — Добавляет один или несколько элементов в начало массива.
array_unshift() добавляет переданные в качестве аргументов элементы в начало массива array. Обратите внимание, что список элементов добавляется целиком, то есть порядок элементов сохраняется. Все числовые ключи будут изменены таким образом, что нумерация массива будет начинаться с нуля, в то время как строковые ключи останутся прежними.

array_pop — Извлекает последний элемент массива.
array_pop() извлекает и возвращает последнее значение параметра array, уменьшая размер array на один элемент.

array_push — Добавляет один или несколько элементов в конец массива.
array_push() использует array как стек, и добавляет переданные значения в конец массива array. Длина array увеличивается на количество переданных значений.

PHP. Использование переменных переменных

Иногда бывает удобно иметь переменными имена переменных. То есть, имя переменной, которое может быть определено и изменено динамически. Обычная переменная определяется примерно таким выражением:
<?php
$a = 'hello';
?>

Переменная переменной берет значение переменной и рассматривает его как имя переменной. В вышеприведенном примере hello может быть использовано как имя переменной при помощи двух знаков доллара. То есть:
<?php
$$a = 'world';
?>

Теперь в дереве символов PHP определены и содержатся две переменные: $a, содержащая "hello", и $hello, содержащая "world". Таким образом, выражение
<?php
echo "$a ${$a}";
?>

выведет то же, что и
<?php
echo "$a $hello";
?>

то есть, они оба выведут: hello world.

Для того чтобы использовать переменные переменных с массивами, вы должны решить проблему двусмысленности. То есть, если вы напишете $$a[1], обработчику необходимо знать, хотите ли вы использовать $a[1] в качестве переменной, либо вам нужна как переменная $$a, а затем ее индекс [1]. Синтаксис для разрешения этой двусмысленности таков: ${$a[1]} для первого случая и ${$a}[1] для второго.

вторник, 14 марта 2017 г.

Добавление местоположений программ в переменную среды PATH

Действия для добавления пути в переменную среды PATH


  1. В меню Пуск щелкните правой кнопкой мыши пункт Компьютер.
  2. В контекстном меню выберите Свойства.
  3. В диалоговом окне Система выберите Дополнительные параметры системы.
  4. На вкладке Дополнительно диалогового окна Свойства системы нажмите кнопку Переменные среды.
  5. В поле Системные переменные диалогового окна Переменные среды прокрутите список до переменной Path, а затем выберите ее.
  6. Нажмите нижнюю из двух кнопок Изменить в этом диалоговом окне.
  7. В диалоговом окне Изменение системной переменной прокрутите строку в поле Значение переменной до конца и добавьте точку с запятой (;).
  8. Добавьте новый путь после точки с запятой.
  9. Нажмите кнопку ОК в трех последовательных диалоговых окнах, а затем закройте диалоговое окно Система.

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html