Отчет по преддипломной практике в ООО «Молочное дело»

Автор: Пользователь скрыл имя, 19 Июня 2013 в 22:28, отчет по практике

Краткое описание

Целью преддипломной практики являются:
– применение и закрепление полученных в процессе обучения теоретических знаний на практике;
– приобретение навыков практической работы в должности системного администратора предприятия;
– направление студентов на принятие самостоятельных решений по проблемам с ПО;
-ознакомление с программными продуктами использующимися на предприятии.
Объектом и базой исследования является предприятие – ООО «Молочное дело» Алатырь

Оглавление

Введение………………………………………………….………………..3
1. Общая характеристика предприятия…………………………………6
1.1 Характеристика информационного отдела………………………….13
2. Материально-техническая база объекта практики и ее хозяйственная характеристика…………………………………………………………………..16
3. Характер занимаемой должности ……………………………………18
4. Теоретические и практические основы занимаемой должности ….22
4.1 История PHP…………………………………………………..29
4.2 Режимы интерпретатора………………………………………39
5. Трудности в профессии программиста………………………………43
6.Изучение используемых программных продуктов на предприятии……………………………………………………………………..45
6.1Консультакт Плюс……………………………………………..45
6.2 «1С: Предприятие»……………………………………………51
6.3 Галактика……………………………………………………….53
7.Заключение ……………………………………………………………..56
8.Характеристика………………………………………………………..57
9.Дневник преддипломной практики………………………….……….58
Список использованных источников…

Файлы: 1 файл

Грызунова.docx

— 79.06 Кб (Скачать)

<html>

 <head>

  <title>Тестируем PHP</title>

 </head>

 <body>

  <?php echo 'Hello, world!'; ?>

 </body>

</html>

Помимо ограничителей <?php ?>, допускается использование дополнительных вариантов, таких как <? ?> и <script language="php"> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %> (конструкции <? ?> и <% %> могут быть выключены в конфигурационном файле php.ini).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Именованные константы могут быть объявлены как регистрозависимыми, так и регистронезависимыми. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).

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

PHP поддерживает три типа  комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).

PHP является языком программирования  с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).

К скалярным типам данных относятся:

целый тип (integer),

вещественный тип данных (float, double),

логический тип (boolean),

строковый тип (string)

и специальный тип NULL.

К нескалярным типам относятся:

«ресурс» (resource),

массив (array)

и объект (object).

Диапазон целых чисел (integer) в PHP зависит от платформы (обычно это диапазон 32-битных знаковых целых чисел, то есть от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10−308 до ±1.7×10+308).

PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в строке «0», NULL и пустой массив считаются FALSE. Все остальные значения автоматически преобразуются в TRUE.

Специальный тип NULL предназначен для переменных без определённого  значения. Единственным значением данного  типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().

Ссылки на внешние ресурсы  имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять  внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.

Обращение к переменным осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций.Например:

$a = 'I am a';        // Запись значение в переменную $a

echo $a;              // Вывод переменной $а

 

$b = 'a';

echo $$b;             // Вывод переменной $а (дополнительный $ перед переменной $b)

 

function_name();      // Вызов функции function_name

$c = 'function_name';

$c();                 // Вызов функции function_name,

 

$d = 'Class_name';

$ob = new Class_name; // Создание объекта класса Class_name

$obj = new $d();      // Создание объекта класса Class_name

 

$obj->b;     // Обращение к полю b объекта

$obj->c();   // Вызов метода c() объекта

 

$obj->$b;    // Обращение к полю a объекта, так как $b = 'a'

$obj->$c();  // Вызов метода function_name() объекта, так как $c = 'function_name'

В PHP echo и print не являются функциями (хотя print имеет возвращаемое значение), а являются синтаксическими единицами. При их использовании можно опустить скобки.

Суперглобальные массивы

Суперглобальными массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы, имеющие глобальную область видимости без использования директивыglobal. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т. п.).

Все суперглобальные массивы  кроме $GLOBALS и $_REQUEST имеют устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET['year'] и $HTTP_GET_VARS['year'] идентичны (за исключением области видимости: массивы с «длинными» именами не являются суперглобальными).

$GLOBALS

Массив всех глобальных переменных (в том числе и пользовательских).

$_SERVER (устаревший аналог — $HTTP_SERVER_VARS)

Содержит переменные окружения, которые операционная система передаёт серверу.

$_ENV (уст. $HTTP_ENV_VARS)

Текущие переменные среды (англ. Environment variables). Их набор специфичен для платформы, на которой выполняется скрипт.

$_GET (уст. $HTTP_GET_VARS)

Содержит параметры GET-запроса, переданные в URI после знака вопроса  «?».

$_POST (уст. $HTTP_POST_VARS)

Ассоциативный массив значений полей HTML-формы при отправки методом POST. Индексы элементов соответствуют  значению атрибута name элементов управления HTML-формы.

$_FILES (уст. $HTTP_POST_FILES)

Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс, идентичный значению атрибута «name» в форме, и, в свою очередь, также является массивом со следующими элементами:

['name'] — исходное имя файла на компьютере пользователя.

['type'] — указанный агентом пользователя MIME-тип файла. PHP не проверяет его, и поэтому нет никаких гарантий, что указанный тип соответствует действительности.

['size'] — размер файла в байтах.

['tmp_name'] — полный путь к файлу во временной папке. Файл необходимо переместить оттуда функцией move_uploaded_file. Загруженные файлы из временной папки PHP удаляет самостоятельно.

['error'] — код ошибки. Если файл удачно загрузился, то этот элемент будет равен 0 (UPLOAD_ERR_OK).

$_COOKIE (уст. $HTTP_COOKIE_VARS)

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

$_REQUEST

Содержит элементы из массивов $_GET, $_POST, $_COOKIE. С версии PHP 4.1 включает $_FILES.

$_SESSION (уст. $HTTP_SESSION_VARS)

Содержит данные сессии.

Объектно-ориентированное  программирование

PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основных механизма ООП —инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого словаextends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.

Классы в PHP имеют ряд  специальных методов (англ. Magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wake()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта.

Экземпляры класса создаются  с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием оператора ->. Для доступа к членам класса из его методов используется переменная $this.

class C1 extends C2 implements I1, I2

{

  private $a;

  protected $b;

 

  function __construct($a, $b)

  {

    parent::__construct($a, $b);

    $this->a = $a;

    $this->b = $b;

  }

 

  public function plus()

  {

    return $a + $b;

  }

/* ...............  */

}

 

$d = new C1(1, 2);

echo $d->plus();

Начиная с пятой версии PHP, объекты передаются по ссылке:

class a

{

  public $color = 'red';

}

 

$a = new a();

echo $a -> color; // red

$b = $a;

$b -> color = 'blue';

echo $a -> color; // blue

«Paamayim Nekudotayim» или просто «двойное двоеточие». Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса. При обращении к этим элементам извне класса, программист должен использовать имя этого класса. «Paamayim Nekudotayim» на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали именно это обозначение. «Paamayim Nekudotayim» действительно значит «двойное двоеточие». Намиврите. Просто это обозначение не менялось ни разу в течение всего времени разработки PHP.

<?php

class MyClass {

  const CONST_VALUE = 'Значение константы';

}

// Использование  :: вне объявления класса

echo MyClass::CONST_VALUE;

?>

Особенности интерпретатора

PHP-скрипты обычно обрабатываются  интерпретатором в порядке, обеспечивающем кроссплатформенность разработанного приложения:

- Лексический анализ исходного кода и генерация лексем

- Синтаксический анализ полученных лексем

- Генерация байт-кода

Выполнение байт-кода интерпретатором (без создания исполняемого файла)

Для увеличения быстродействия приложений возможно использование  специального программного обеспечения, т.н. акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт-кода в памяти и/или на диске, таким образом из процесса работы приложения исключаются этапы 1—3, что в общем случае ведёт к значительному ускорению работы. Наибольшая эффективность акселератора достигается на скриптах с большим количеством исходного кода, содержащих небольшое количество операций, ресурсоёмких при выполнении даже считанного количества раз (например таких, как масштабирование изображений).

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

Расширения

Интерпретатор состоит из ядра и подключаемых модулей, «расширений», представляющих собой динамические библиотеки. Расширения позволяют дополнить базовые возможности языка, предоставляя возможности для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDFи т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существует огромное количество расширений, как стандартных, так и созданных сторонними компаниями и энтузиастами, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Множество расширений доступно в репозитории PECL.

Параметры настройки

Интерпретатор PHP имеет специальный  конфигурационный файл— php.ini, содержащий множество настроек, изменение которых влияет на поведение интерпретатора. Имеется возможность отключить использование ряда функций, изменить ограничения на используемую скриптом оперативную память, время выполнения, объём загружаемых файлов, настроить журналирование ошибок, работу с сессиями и почтовыми сервисами, подключить дополнительные расширения, а также многое другое.

 

4.2 Режимы интерпретатора

 

Существует несколько  способов использования интерпретатора PHP:

В качестве модуля к веб-серверу посредством SAPI или ISAPI (например, для Apache модуль mod_php). Веб-сервер запускается с загруженным модулем и при обращении к php-скрипту он выполняется в окружении процесса веб-сервера. Это наиболее распространённый метод использования PHP в силу следующих причин:

Он наиболее удобен для отладки, так как ошибки PHP выводятся на экран (если данный режим включен в настройках), тогда как в режиме CGI ошибка приводит к генерации HTTP-кода 500 и дополнительную информацию необходимо искать в логах веб-сервера.

Имеется возможность менять некоторые настройки PHP «на лету»  с помощью файла .htaccess, без перезагрузки веб-сервера.

В режиме CGI нет возможности  воспользоваться HTTP-аутентификацией.

Более высокая скорость работы.

В качестве CGI. В этом случае при вызове скрипта веб-сервер вызывает /usr/bin/php-cgi /path/to/script.php. При этом создаётся новый процесс и скрипт выполняется в окружении php-cgi, которое, в зависимости от настроек, может сильно отличаться от окружения процесса веб-сервера. Более современным вариантом является FastCGI. Несмотря на то, что препроцессор PHP все равно будет перезапускаться при каждом запросе, преимуществом данного варианта перед предыдущим является более высокая степень безопасности, потому как PHP работает как отдельное приложение со своими правами.

В качестве скрипта командной строки, являющегося исполняемым файлом, который вызывается пользователем из командной строки; скрипт выполняется в окружении вызвавшего пользователя. В этом случае возможно использование PHP для создания клиентскихGUI-приложений и решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript

Пасхальные яйца

PHP имеет несколько пасхальных яиц (шуток). Передача специальных GET-параметров любому php-скрипту приводит к выводу различных изображений.

Например:

любой_сценарий.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

введя это значение в адресную строку браузера можно увидеть различные  изображения, в зависимости от версии интерпретатора:

Информация о работе Отчет по преддипломной практике в ООО «Молочное дело»