Программирование для начинающих и не только

5 последних уроков рубрики «PHP»

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак

В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение

В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Как стать PHP-программистом? Что нужно знать для начала работы?

В данный момент сайты редко пишут «с нуля». Чаще проекты разрабатывают на базе готовых систем управления (CMS) или фреймворков (наборов программ, из которых можно собрать сайт).

Если вы хотите стать PHP-программистом, вначале вам потребуется:

  • Освоить язык разметки HTML и каскадные таблицы стилей CSS. Данные технологии применяются для создания внешнего вида страниц сайтов (макетов). В небольших студиях, куда берут новичков, PHP-программисты часто занимаются версткой макетов либо что-то в них правят. Поэтому вам потребуется знать HTML и CSS.
  • Освоить язык JavaScript. Он позволяет создавать различные сценарии на страницах, формы, интерактивные элементы. Без знания JavaScript вы не сможете заниматься разработкой сайтов.
  • Освоить язык PHP и стандарты написания кода PSR (PHP Standarts Recomendations).
  • Освоить работу с базами данных MySQL.
  • Основательно разобраться в работе одной или нескольких популярных систем управления сайтами (CMS). Примеры таких систем: 1С Битрикс, WordPress, OpenCart и другие. Каждая система имеет свои особенности, которые необходимо знать.

Обучиться азам можно самостоятельно по курсам, выложенным на YouTube. Посмотрите список образовательных каналов по программированию, на которых имеются уроки по HTML, CSS, PHP, MySQL.

Где можно научиться программированию на языке PHP?

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

Например, университет Нетология обучает программированию «с нуля». Занятия проводятся через интернет. Также есть сайт Skillbox, где можно пройти онлайн-курсы.

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

Название курса

Описание курса

Вы научитесь писать код на PHP, изучите фреймворк Symfony, познакомитесь с разработкой сайтов на «1С Битрикс», освоите GIT. Отдельные лекции посвящены построению карьеры программиста.

Подходит людям, которые хотят работать в сфере разработки сайтов. Здесь вы не только изучите PHP, но и научитесь верстать сайты, создавать скрипты на JavaScript и работать с фреймворками.

Курс в Нетологии. Помимо PHP, здесь изучают различные технологии, которые используются при создании сайтов: HTML и CSS, JavaScript, библиотека React, фреймворк Laravel.

Если раньше вы никак не сталкивались с веб-разработкой и хотите понять, интересна вам эта сфера или нет, можно пойти на бесплатный курс по основам HTML и CSS в Нетологии. Вам покажут примеры тегов и как их используют при разметке страниц. Вы сможете понять, насколько вам интереса сфера веб-разработки.

Как оставаться востребованным специалистом?

По мере набора опыта вы научитесь писать оптимальный код, оптимизировать его и распределять нагрузку. Вы станете более опытным и востребованным PHP-программистом.

Для дальнейшего развития нужно осваивать востребованные в веб-разработке навыки и технологии:

  • Ajax.
  • jQuery.
  • Популярные фреймворки, на которых создают сайты.
  • Основы администрирования, чтобы уметь настраивать сервера, корректировать команды в файле .htaccess.

Вы можете возразить, что PHP-разработчик не должен заниматься версткой или администрированием серверов. С этим можно согласиться, однако на практике именно разработчика часто просят что-то поправить в верстке, внести настройки на сервер и т.д. В небольших веб-студиях PHP-программист часто является «мастером на все руки», ведь у компании нет возможности нанимать узких специалистов. Поэтому чем больше вы знаете в смежных сферах, тем быстрее сможете найти работу и зарабатывать больше денег.

Чтобы быть востребованным PHP-программистом, также необходимо:

  • Уметь писать оптимальный код.
  • Читать профильные ресурсы, чтобы быть в курсе новых технологий.
  • Изучать теорию программирования.
  • Выучить английский язык, чтобы иметь возможность читать документацию на иностранном языке, статьи и руководства на иностранных сайтах.
  • Уметь искать информацию в Интернете и находить решения проблем, с которыми вы впервые столкнулись.

Как видите, работа PHP-программиста не так проста, как казалось. Объем знаний, который требуется разработчику, велик. На освоение востребованных технологий может уйти длительное время.

Что можно сделать на сайте html используя php

что можно сделать на сайте html используя php

Php — является одним из самых популярных серверных языков. Сервер — это тот же компьютере, только находится он удаленно!

Я хотел на каждый пример сделать ссылку, что можно сделать в php.

Тогда придется повторять всё уже написанное еще раз здесь, чтобы этого не делать — у нас есть подтема php, что мы рассматривали до данной минуты.

Всё, что вы можете делать на компьютере… создать файл, отредактировать, сохранить, удалить, права пользователя на компе — все это можно делать с помощью php!

Регистрация, авторизация, даже сейчас вы эти слова читаете, данная строка обработана php! Каждый параграф на странице был посчитан, и в цикле перед ними была добавлена реклама. Php — это песня, это музыка в области программирования!

Что можно сделать на сайте html используя php

Пользуйтесь на здоровье! Не забудьте сказать

Теги :как подключить скрипт php в html
как использовать php в html
как включить php в html
php 5.3 .htaccess включить выполнение php кода в .html файлах
можно ли встраивать php-код в html-код
php-код можно внедрять непосредственно в html
почему html не понимает php
включение php в html
как подключить php к html
html связать с php для чайников
что скачать чтобы php работал в коде
html и php

Как я сам узнал этот секрет

Дальше я рассказывал студентам секрет быстрого изучения программирования. Но как я сам узнал его?

Это было давно, когда я еще работал программистом в космической отрасли. У меня был приятель, который работал переводчиком. Мы иногда пересекались и обсуждали всякие IT-темы. Он был гуманитарий и слабо разбирался в компьютерах. Но он купил компьютер и у него было много вопросов.

Как-то во время очередной встречи он мне неожиданно сказал: «Я тут написал драйвер для джойстика!» Я поразился, написание драйверов — это весьма сложная задача. Как мог человек, который не знал программирования, написать драйвер?

А дело было так. Он купил джойстик, чтобы играть в компьютерные игры. Но в те времена была проблема драйверов. Не каждое устройство можно было запустить на компьютере, если не было соответствующего драйвера.

Мой приятель попал именно в такую ситуацию. Драйвера для его материнской платы не было. Но на дискете с драйверами прилагался текст драйвера на языке Си.

Хотя он не был программистом, но играть очень хотелось. Он взял инструкцию к материнской плате и стал сравнивать коды в инструкции с текстом программы драйвера. Он обнаружил, что отличаются только последовательность команд, а сами команды были похожи.

Дальше он стал разбираться с тем, как можно скомпилировать программу на Си, как она отлаживается. Все это было очень трудно. Но когда первый раз джойстик вдруг среагировал на нажатие кнопки, это была победа!

Шаг за шагом он добавил обработку всех команд и джойстик полностью заработал!

Весь этот процесс у него занял полгода. То есть гуманитарий, который и с компьютером-то разобрался только недавно, за полгода написал сложную программу.

Когда я его спросил:

— Как же ты так во всем самостоятельно разобрался?

Он ответил:

— Играть очень хотелось!

Так я узнал секрет быстрого изучения программирования.

На каком языке работают успешные программисты?

Успешные программисты не привязываются к языку программирования — они умеют программировать. В каждом языке есть общие концепции и индивидуальный синтаксис, из которого собирается код: есть операторы, циклы, паттерны и прочие элементы. Когда новичок концентрируется на языке программирования, то он может выполнять только те задачи, которые ограничены рамками этого языка.

У опытных разработчиков язык программирования отходит на второй план: они ставят задачу, продумывают алгоритм решения и после этого подбирают нужные языки. Это позволяет выйти за рамки и решить любую задачу, которую можно закодить — примерно так мыслят успешные программисты.

Успешные программисты не привязываются к языку программирования — они умеют программировать

Что почитать: подборка полезных книг

Свою первую книгу по программированию можно выбрать из списка:

«Программирование на Java», Патрик Нимейер, Дэниэл Леук. Книга предлагает освоить язык Java с помощью реальных примеров. Мировой бестселлер для начинающих.

«JavaScript для детей. Самоучитель по программированию», Ник Морган. Книга от 10 лет. Поможет разобраться с языком программирования и написать несколько игр.

«HTML: Популярный самоучитель», Александр Чиртик. Язык описан понятно и доступно. Можно научиться делать веб-страницы.

«Python для детей и родителей», Брайсон Пэйн. Один из распространенных и простых языков программирования описан так просто, что его освоит даже ребенок. В книге представлены понятные, интересные, полезные упражнения.

«PHP7 для начинающих с пошаговыми инструкциями», Майк МакГрат. Поможет разобраться с одним из самых простых языков программирования даже тем, кто никогда не занимался разработкой.

Вебсайты на PHP

Будучи изначально разработанным для создания веб-страниц, PHP позволяет создавать веб-сайты с интуитивным и адаптивным дизайном быстро и легко. Поэтому неудивительно, что многие сайты созданы именно при помощи PHP. Среди них — Yahoo, Flickr, Digg и другие.

Так что же делает PHP настолько подходящим для разработки сайтов? Ответ — его функционал, который был специально разработан под вебсайты. Сюда входит и интеграция с HTML, и хорошая совместимость с различными базами данных, и безопасность, и приятный пользовательский интерфейс.

Шаблоны динамических сайтов

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

Онлайн-сообщества

PHP позволяет легко создавать онлайн-сообщества при помощи таких инструментов, как PHP BB, vBulletin, Pun BB и др. Это позволяет сделать ваш сайт более интерактивным и привлекательным для пользователей.

Ключевые навыки веб программиста

Хороший специалист нужен везде, с этим утверждением трудно поспорить

В веб разработке так же, как в любой работе, важно совершенствование

Любая компания нуждается в профессионалах

К качествам, необходимым программисту, относятся:

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

Важно понимать, что молчаливый, неуверенный в себе человек редко добивается нужного успеха.
Идеальное знание своей направленности тоже является весомым фактором успешности веб программиста. Он должен разбираться в языках программирования, к ним относятся: JavaScript, HTML5, CSS3 и так далее

А также уметь верстать страницы в сети и разбираться в веб дизайне. Эти знания и умения являются минимальными, на них практически не обращают внимания работодатели. Однако если человек хочет стать хорошим веб разработчиком, он должен в идеале знать эти основы.
Важно относиться к работе с максимальной концентрацией и трудолюбием. В деле программиста лень — это вредная привычка. Чтобы быть хорошим работником, нужно постоянно стремиться к новым знаниям и заниматься творчеством. Веб программисты всегда самообразовываются. Им нужно много и качественно работать, поэтому ленивым людям не место в этой профессии. В программировании нельзя делать некачественную работу, ведь у работодателей есть множество других исполнителей, которые сделают качественно. Поэтому программист всегда старается стать лучше и сделать больше.
Также очень важным качеством в этом ремесле является стрессоустойчивость. В этом деле существует много неприятных ситуаций: оборванные дедлайны, плохие заказчики, доработки. Ситуаций огромное множество. Поэтому программист не должен быть чувствительным. Ему нужно уметь приспосабливаться к ситуации и не реагировать на раздражители. Человек должен обладать железными нервами. Только в таком случае работа будет выполняться максимально качественно.
Самодисциплина и организованность – это важнейшие качества веб программиста. Человек может что-то забывать, а в этой отрасли это непростительно. Многие заказчики и работодатели поторапливают своих исполнителей, чтобы они сдавали работы в отведенное время. Также важно не заполнять все свободное время работой, иначе можно с легкостью потерять творческий подход к исполнению. Нужно делать перерывы и отдыхать, но и забывать про дедлайны тоже нельзя.
Важно уметь смотреть на ситуации с разных сторон и уметь подстраиваться под задания заказчиков. Программист должен научиться принимать чужие взгляды и делать так, как хочет другой человек. Научиться этому можно только с помощью практики.
Хороший программист всегда находит новые инструменты, чтобы упрощать однотипную работу. Благодаря этому он экономит много времени и создает более качественные проекты. Будь это упрощенные обработки процессов, моделей, шаблонов, все нужно уметь делать качественно и быстро.

Любая профессия не любит ленивых людей. Программирование – это сложное ремесло, где нужно работать, но не лениться.

Испытательный срок

Поначалу у меня были проблемы с самооценкой, поскольку я считал себя супермедленным разработчиком, который случайно попал в крутую компанию. Наверное, это связано с переживаниями за результат испытательного срока, который длился три месяца и до завершения которого я не мог назвать себя полноценным сотрудником Яндекса.

Было непросто, и я боялся увольнения. Но меня никто не торопил, не критиковал за медлительность и не упрекал в том, что я чего-то не знаю. Я мог подойти к любому коллеге, показать задачу и получить подробные рекомендации по её выполнению — сначала такая открытость настораживала, но сейчас я не представляю, как можно по-другому.

Переломный момент наступил ближе к завершению испытательного срока, когда нужно было поговорить с руководителем

Я осторожно спросил: «Прохожу?». В ответ услышал «Ну, проходи!» — после этого волнение ушло и наступили рабочие будни

Всё как сейчас.

Хочу поблагодарить ребят из группы адаптации, которые помогают новичкам комфортно обустроиться на рабочем месте. Они организовали ознакомительную экскурсию по главному офису Яндекса и помогли проникнуться культурой большой корпорации. Если хотите понять мои ощущения после экскурсии — посмотрите ролик и представьте, что вживую всё ещё ярче:

https://www.youtube.com/embed//l2a_9q2ICzk

Фильтрация(валидация) данных

  • Фильтрация данных средствами PHP

  • Фильтры валидации данных

  • PHP class DFunction и подборка функций — класс для проверки пользовательских данных
  • PHP. Проверка на число в GET и POST запросах.

Маленькие советы

  • Hачинающий: echo "$var";
    Пpофи: echo $var;
  • Начинающий: print("Test");
    Пpофи: print "Test";
  • Краткая запись <?= для строки <?php echo. Спорный совет — требует включения , не знаешь как писать всегда выбирай вариант с полными тегами т.е. первый вариант.
    1 способ: <?php echo '<a href=\"http://www.php.net\">PHP</a>'; ?>
    2 способ: <?= '<br><a href="http://www.php.net">PHP1</a>' ?>

    Начиная с версии PHP 5.4.0 запись <?= стала доступна всегда.

  • Hачинающий: $a=1; $a=2; $a=3;
    Пpофи: $a = array(1,2,3);
  • Hачинающий: if($a>1) { $b=2; } else { $b=3; }
    Пpофи: $b = ($a>1) ? 2:3;
  • При написании собственных функций желательно чтобы они возвращали результат, даже если сама функция просто форматирует страницу. Это позволяет легко проверить выполнилась функция или нет, что позволяет проще обнаруживать этапы на которых возникли ошибки.
  • Конкатенация строк — два способа:
    Hачинающий: $a = $a. $b;
    Пpофи: $a .= $b; // этот способ намного быстрее - использовать его

Ruby

Ruby аналогичен Python в своей простоте и читаемости. В некоторых случаях его синтаксис даже более интуитивен и понятен, чем синтаксис Python. Тем не менее Ruby в своих конструкциях уже более многословен за счет использования дополнительных символов и ключевых слов.

Вот как выглядит цикл в Python:

А вот тот же цикл в Ruby:

Поскольку этот язык разрабатывался как “увлекательный и продуктивный”, то программирование на нем станет интересным и интуитивным процессом даже для новичка. Это наглядно видно по англоподобному синтаксису Ruby и естественному ходу мысли при решении с его помощью задач. 

При использовании Ruby перед вами возникает несколько способов реализации нужной цели, а также возможность выбирать, какой из этих способов будет для вас более интуитивным.

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

С появлением фреймворка Ruby on Rails популярность языка буквально подскочила, и он занял уверенную позицию в области веб-разработки. Ruby on Rails  —  это простой в освоении и использовании фул-стек фреймворк для создания веб-приложений и сайтов.

Несмотря на то, что Ruby не столь распространен, как те же Python или JavaScript, за последние годы он успешно набрал популярность, и в сообществе программистов на него наблюдается высокий спрос.

По данным последнего , проведенного StackOverflow, Ruby занял пятое место в рейтинге самых высокооплачиваемых технологий среди разработчиков. Этот язык выбирают многие стартапы для реализации своих программных нужд при одновременной экономии ресурсов.

Ruby также имеет активное сообщество, в котором радушно приветствуют начинающих программистов и охотно помогают в освоении этого языка. Сторонние библиотека, называемые гемы (gems), тоже постоянно совершенствуются, все более успешно помогая без проблем решать сложные задачи.

Поскольку популярность Ruby охватывает область веб-разработки, то освоение его в качестве первого языка станет отличным решением для тех, кто собирается двигаться именно в этом направлении.

Я не эксперт по Ruby, поэтому рекомендуемые материалы подобрал по отзывам других людей (англ.):

Как можно научиться программированию?

Существует четыре основных способа, с помощью которых можно научиться писать код:

  1. Самообразование. Большинство современных программистов учатся писать код самостоятельно. По различным материалам, которые находят в интернете. Например, книгам и инструкциям. Однако, освоить программирование путем самообразования будет довольно сложно. Поскольку тинейджеру будет трудно разобраться в конкретном языке разработки. Ему будет некого спросить о том, все ли он делает правильно. Не допускает ли ошибок во время кодинга.
  2. Университет. Если тинейджер принял решение стать разработчиком в десятом-одиннадцатом классе, то самый простой способ освоить профессию — отправиться в ВУЗ. Там подростка обучат основам кодинга. Расскажут об основных аспектах работы с языками программирования. Из высшего учебного заведения подросток выйдет квалифицированным специалистом. С дипломом об образовании программиста. Благодаря которому, в будущем сможет трудоустроиться на должность с высокой зарплатой. Для поступления в ВУЗ на программиста ребенку предстоит сдать несколько экзаменов ЕГЭ. Подойдите к этому процессу ответственно. Чтобы тинейджер поступил в ВУЗ, в котором дают сильные знания.
  3. Занятия с ментором. Следующий способ научиться программированию для тинейджера — найти наставника. Он может приобрести курсы у определенного человека в интернете. Либо, найти ментора в реальной жизни. Например, попросить стать наставником одного из своих знакомых-программистов. Ментор будет регулярно советовать чаду книги по кодингу. Говорить, какие ошибки он допустил во время написания кода для программы. И помогать во многих других аспектах. 
  4. Курсы. Практически в каждом городе России и других стран СНГ есть курсы для программистов. Вы можете записать в них тинейджера. И он сможет освоить определенные знания. Некоторые курсы даже предлагают лучшим студентам трудоустройство в компаниях-партнерах. Что довольно полезно. Поскольку сразу после обучения стоимость курсов окупится. Если оффлайн-курсов в вашем городе нет, то запишите подростка на онлайн-семинары. На них его обучат всем необходимым навыкам. А также помогут отточить знания и наработать портфолио. С помощью выполнения домашних заданий.

Какой язык программирования выбрать начинающему разработчику?

На первых этапах обучения тинейджеру рекомендуется выбирать самый простой язык программирования. Последний должен обладать следующими характеристиками:

  1. Популярность среди работодателей. Основная задача обучения программированию — не просто стать разработчиком. А устроиться в компанию и зарабатывать на ремесле деньги. Поэтому тинейджеру нужно выбирать востребованный язык программирования. Разработчиков которого регулярно ищут HR-отделы разных компаний. 
  2. Легкость в освоении. Порекомендуйте тинейджеру выбирать на первое время те языки, которые максимально простые в освоении. Те, которые можно быстро выучить. И для использования которых не нужно быть профессионалом. Например, тинейджер может отдать предпочтение одному из следующих языков. PHP, Python или Ruby. 
  3. Удовольствие от процесса работы с языком. Тинейджеру должен нравиться выбранный язык программирования. Он должен любить его всем сердцем. И получать наслаждение от работы с ним. Если этого чувства у чада возникать не будет, то он не сможет зарабатывать большие деньги. Поскольку не будет получать удовольствия от языка. И, соответственно, не сможет эффективно с ним работать.

Помогите тинейджеру выбрать направление программирования

Перед тем, как тинейджер выберет язык программирования, ему предстоит определиться со специализацией. Той сферой разработки, в которой ему предстоит работать. Наиболее простыми отраслями в плане освоения являются создание сайтов, приложений для смартфонов. 

Тинейджер должен учитывать, что, в зависимости от специализации, ему придётся изучать определенные языки. Поскольку для каждой сферы деятельности они будут значительно друг от друга отличаться. 

Пример функции для защиты от XSS

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

<?php
function xss($data) {
 if (is_array($data)) { // Если это массив
  $result = array(); // Создаём новый массив
  foreach ($data as $key => $value) { // Перебираем исходный массив
  	$result = xss($value); // Рекурсивно вызываем функцию xss
  }
  return $result; // Возвращаемый "защищённый" массив
 }
 return htmlspecialchars($data, ENT_QUOTES); // Если это не массив, то вызываем htmlspecialchars()
}


// Предположим, что в строке запроса у нас такая строка:
// /?name=John&age=<>45
$data = xss($_REQUEST); // Вызываем функцию, передав туда в качестве аргумента весь REQUEST

// Распечатаем результат
var_dump($data);

Передача данных в адресной строке

Одним из простых способов передачи данных php сценарию является адресная строка браузера, где после знака ? вы можете указать набор параметров в формате имя_параметра=значение если параметров несколько они разделяются сиvволом & . Например:

  • http://mysite.local/script.php — адрес сценария
  • username=Иван — первый параметр username со значением Иван
  • age=25— второй параметр
  • position=менеджер — третий параметра
  • & — символ разделения параметров в адресной строке

Все переданные параметры можно получить в сценарии script.php следующим образом:

Здесь мы выводим на экран глобальный массив $_GET функцией print_r() , если вы всё сделали правильно, то в браузере вы увидите примерно такой результат:

Как получить список файлов внутри папки (включая подпапки) на PHP

Build In Post

Готовая PHP-функция, которая получает список всех файлов, находящихся в заданной папке. Также по умолчанию включаются файлы находящиеся во вложенных папках: параметр $recursive = true.

Результатом работы функции является массив со списком всех файлов (и папок если $include_folders = true).

/**
 * Получает пути всех файлов и папок в указанной папке.
 *
 * @param  string $dir             Путь до папки (на конце со слэшем или без).
 * @param  bool   $recursive       Включить вложенные папки или нет?
 * @param  bool   $include_folders Включить ли в список пути на папки?
 *                                                        
 * @return array Вернет массив путей до файлов/папок.
 */
function get_dir_files( $dir, $recursive = true, $include_folders = false ){
	if( ! is_dir($dir) )
		return array();

	$files = array();

	$dir = rtrim( $dir, '/\\' ); // удалим слэш на конце

	foreach( glob( "$dir/{,.}*", GLOB_BRACE ) as $file ){

		if( is_dir( $file ) ){
			if( $include_folders )
				$files[] = $file;
			if( $recursive )
				$files = array_merge( $files, call_user_func( __FUNCTION__, $file, $recursive, $include_folders ) );
		}
		else
			$files[] = $file;
	}

	return $files;
}

Использование:

$files = get_dir_files('/home/site.ru/wp-includes/');

/*
Array
(
	 => /home/site.ru/wp-includes/ms-settings.php
	 => /home/site.ru/wp-includes/embed.php
	 => /home/site.ru/wp-includes/rest-api.php
	 => /home/site.ru/wp-includes/registration.php
	 => /home/site.ru/wp-includes/cron.php
	...
*/

Старый вариант

/**
 * Получает пути всех файлов в указанной папке, включая все вложенные уровни.
 * 
 * @param $dir Путь до папки со слэшем на конце или без.
 * @return Вернет массив путей до файлов.
 */
function get_dir_files( $dir ){
	$filenames = array();
	$dir = rtrim( $dir, '/' ); // удалим слэш на конце

	if( is_dir($dir) ){
		if( $handle = opendir($dir) ){
			chdir( $dir );
			while( false !== ($file = readdir($handle)) ){ 
				if( $file != "." && $file != '..' ){ 
					if( is_dir($file) ){ 
						$arr = get_dir_files( $file );
						foreach( $arr as $value ) $filenames[] = $dir .'/'. $value;
					}
					else {
						$filenames[] = $dir .'/'. $file;
					}
				}
			}
			chdir('../');
		}
		closedir( $handle );
	}

	return $filenames;
}

$files = get_dir_files('/home/site.ru/wp-includes/');

/*
Array
(
	 => /home/site.ru/wp-includes/ms-settings.php
	 => /home/site.ru/wp-includes/embed.php
	 => /home/site.ru/wp-includes/rest-api.php
	 => /home/site.ru/wp-includes/registration.php
	 => /home/site.ru/wp-includes/cron.php
	...
*/

Выводы

В этом уроке вы познакомились с основами ООП в PHP. Вы узнали о таких вещах, как:

  • что такое ООП и почему его полезно применять
  • понятия классов, объектов, переменных класса и методов
  • как создавать классы и объекты
  • как создавать и использовать переменные классов
  • понятия идентификаторов доступа public, private, protected
  • как создавать и применять методы классов

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

До новых встреч!

Вывод строк echo();

Наверное, 90% программистов скажут, что первая строка, которую они увидели на экране, когда начали изучать язык программирования — это HELLO, WORLD. Не будем отступать от традиций.

Для начала нам надо создать файл с расширением .php. Как это сделать?

  • Открываем обычный блокнот и жмем «Файл» -> «Сохранить как…»
  • Имя задаем как «my_example.php», тип файла выбираем «All files»
  • Сохраняем файл в корневую директорию сайта (для денвера — это Z:\home\localhost\www\, для xampp: /htdocs/)

Ну вот, наш php скрипт уже доступен и выполняется по адресу https://localhost/my_example.php. Другое дело, что выполняться там нечему, т.к. файл у нас с вами пустой. Но это мы сейчас исправим.

Запомните раз и навсегда, что php используется в 75% случаев вместе с html. И наш случай не исключение. Объясню подробнее.

Файл .php воспринимается сервером как и обычный файл .html, но с одним правилом: всё, что содержится между <?php и ?>, исполняется компилятором, т.е. это считается уже не за разметку html, а за программный код.

Итак, давайте заполним наш файл следующим кодом и посмотрим, как эта страница отобразится в браузере по адресу https://localhost/my_example.php:

Оператор echo дает команду вывести на экран. После любого оператора ставится точка с запятой, обозначающая окончание логически-завершенного действия. Как вы видите: выводить можно как обычные строки, заключенные в кавычки, так и результаты вычислений, заключенные в скобочки. В результате (в браузере) мы не увидим наш болк кода <?php?>, а увидим лишь результат его выполнения.

Также, как вы уже успели заметить, из блока <?php ?> с помошью оператора echo(); можно выкидывать на страницу не только текст, но и теги, как мы и сделали с тегом <br>: он коректно обработался браузером и на его месте возник перенос строки.

Заключение

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

  • Простое решение на основе функции недостаточно гибкое.
  • Более сложное решение на основе функций требует дополнительной фильтрации, но более гибкое.
  • Функция работает без обработки дескриптора, но требует дополнительной фильтрации при необходимости.
  • Используя следует применять библиотеку SPL. Дополнительно можно расширить классы собственными методами.
  • Итератор имеет функцию предварительной фильтрации. Другие используют .
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: