Статьи

Поговорите с экспертами по PHP: Стенограмма

Разговор с экспертами сегодня утром был насыщенным, почти с рекордным количеством посетителей. Вряд ли это удивительно, учитывая, что предметом был PHP. К счастью для меня, экспертами были наши собственные разработчики Джуд Аакджер и Майкл Саутер, и они были очень быстрыми с нуля. Мне даже не пришлось ставить вопросы в очередь. Слишком легко.

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

Сессия на следующей неделе, вероятно, станет еще одной популярной — я буду говорить с Мэттом Эвансом ( Wave Digital) о разработке мобильных приложений . Эта сессия состоится в 13:30 PDT в среду, 23 октября, и вы можете присоединиться к ней здесь .

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

И если вы хотите увидеть, что произошло сегодня, вы можете прочитать полную стенограмму здесь:

[20:28] <johnlacey> Что нужно знать начинающему PHP, чтобы начать?
[20:30] <santouras> johnlacey: как и учиться чему-то новому, я думаю, что очень важно учиться тому, кто знает, что они делают
[20:30] <weebit> Является ли изучение PHP хорошей вещью для тех, кто хочет создавать темы для CMS?
[20:31] <johnlacey> Я заметил, что многие люди / сайты рекомендуют XAMPP для локальной разработки под Windows (включая Кевина Янка из Sitepoint). Я пропускаю что-нибудь, используя вместо этого WAMP?
[20:31] <michaelsauter> @johnlacey Я думаю, что нет ничего особенного, что нужно знать, чтобы начать. PHP — один из языков, на который очень легко попасть, и в Интернете есть много учебников и т. Д. я бы сказал, что это тоже одна из проблем: там много старой / устаревшей / плохой информации
[20:31] <michaelsauter> @weebit да, определенно
[20:31] <michaelsauter>, очень много CMS написано на PHP, поэтому знание PHP для написания шаблонов будет полезно
[20:31] <santouras> johnlacey Я бы порекомендовал использовать настройку виртуальной машины вместо xampp / wampp
[20:32] <HAWK> Я подключу наш популярный курс PHP https://learnable.com/courses/php-mysql-web-development-for-beginners-13
[20:32] <santouras> почти все развертывание происходит на компьютерах с Linux, и если вы пишете код под Windows, гораздо проще иметь вашу среду разработки для своей производственной среды
[20:33] <santouras>, если вы пишете на osx / linux, тогда dev на вашем локальном компьютере становится более привлекательным, но я никогда больше не буду кодировать php прямо в windows
[20:33] <bobo> всем привет! Как бы вы предотвратить повторную отправку данных при обновлении / навигации?
[20:34] <michaelsauter> то же самое здесь. всегда лучше иметь портативную виртуальную машину для разработчиков
[20:34] <evilnick> PHP — это зло!
[20:34] <Brad82> Я второй не кодирую php прямо на windows.
[20:34] <McGeough> 1) какая разработка наиболее часто используется с использованием PDO или MySQLi? и 2) Какая самая лучшая структура вокруг? Codeigniter, Laravel, Zend и т. Д.
[20:35] <santouras> @bobo, это скорее вопрос браузера :), но некоторые стратегии включают обработку данных в записи и затем пересылку пользователя на страницу результатов.
[20:35] <HAWK> Добро пожаловать, если вы только что присоединились. Заходите с вопросами в любое время. 🙂
[20:35] <santouras> @McGeough Я склонен использовать PDO, когда я не использую слой абстракции
[20:35] <evilnick> McGeough PDO лучше, потому что он обеспечивает некоторый уровень абстракции, поэтому вы можете использовать любую базу данных, какую захотите
[20:35] <michaelsauter> McGeough 2) очень сильно зависит от ваших предпочтений. я лично за Symfony2
[20:35] <Brad82> МакГи 2) Это очень субъективный вопрос, некоторые из них более подходят, чем другие, для разных обстоятельств. Я лично фанат FuelPHP
[20:35] <santouras> рамочный вопрос подобен религиозному аргументу
[20:35] <evilnick> также MySQL вроде бы отстой, попробуй PostgreSQL
[20:36] <McGeough> Я слышал о Symfony2, но никогда не смотрел на него
[20:36] <IckleChris> 2) определенно основан на проекте. Это все равно что пытаться решить, какой размер пистолета использовать для стрельбы мышью
[20:36] <weebit> Итак, как далеко я должен идти вверх по лестнице в обучении PHP, если я только изучаю PHP для тем? Есть ли определенная часть PHP, которую я должен изучить?
[20:37] <santouras> @McGeough Я недавно использовал Silex, который является урезанной версией symfony2, определенно удобной для небольших проектов
[20:37] <michaelsauter> чтобы выяснить, «какую инфраструктуру мне следует использовать», я думаю, что лучше сначала взглянуть на ваши требования, затем на то, какой стиль / подход вы предпочитаете и, возможно, также с кем вы хотите работать, а затем выбрать рамки
[20:37] <Paul> Работает ли PDO с mongoDB
[20:37] <santouras> @weebit, о какой теме ты говоришь? какая платформа конкретно?
[20:37] <evilnick> Пол конечно нет, PDO для SQL
[20:37] <weebit> WordPress и, возможно, Joomla позже
[20:38] <HAWK> Если вы только что пришли сюда, привет. 🙂 Не стесняйтесь присоединиться с вопросами, когда вы будете готовы
[20:38] <McGeough> Кроме того, какие движки шаблонов лучше всего подходят для PHP, до сих пор я использовал Smarty в работе, и нам интересно, есть ли что-нибудь лучше и быстрее?
[20:38] <michaelsauter> Так что WordPress использует PHP в очень …. скажем… интересно… кстати. Не слишком много научиться понимать, что происходит в шаблонах
[20:39] <santouras> МакГи Я был фанатом умных умений в прошлом и использовал его во многих проектах. Twig похож по синтаксису и стоит посмотреть
[20:39] <michaelsauter> МакГи, опять же, соблазн тоже вопрос предпочтений. Я снова за твиг
[20:39] <sh4d0ws> я думаю, что нам нужно подумать о том, кто из них продолжит получать поддержку в будущем… 1 или 2 года… потому что если мы потратим много времени на изучение и развитие чего-либо, а затем через 2 или 3 года каркас «мертв», его ничтожный
[20:39] <Brad82> Какие преимущества дает использование шаблонизатора над простым старым PHP в шаблонах?
[20:39] <McGeough> santouras michaelsauter — это веточка быстрее или легче и т.д.?
[20:40] <michaelsauter> В Twig вам не нужно / не может писать PHP, но он все равно очень быстрый, поскольку компилируется в PHP
[20:40] <Brad82> Конечно, я имею в виду только echo и foreach (), например, в шаблонах.
[20:40] <santouras> Brad82 самое большое преимущество — это разделение интересов
[20:40] <evilnick> Brad82 ну, они не такие страшные как PHP
[20:40] <johnlacey> Я понимаю, что это очень субъективная / личная вещь … но просто из любопытства, какой твой любимый редактор кода?
[20:40] <santouras> он четко определяет логические и презентационные аспекты вашего приложения
[20:40] <cliffgs> Net Beans — мой любимый редактор
[20:40] <IckleChris> Я парень из Aptana Studio
[20:40] <santouras> johnlacey, мой личный — ST2 и ST3, когда он становится стабильным, но я время от времени использую vim
[20:41] <McGeough> ST2
[20:41] <Brad82> ST2 для меня тоже
[20:41] <McGeough> ST3 сейчас недостаточно стабилен
[20:41] <sh4d0ws> Кто-нибудь сейчас, как получить все разделы в nix из PHP без разбора «df»?
[20:41] <evilnick> Sublime и vim — лучшие
[20:41] <программист> Мой вопрос касается безопасности. Я подключаюсь к базе данных MySQL, и у меня есть константы подключения в отдельном файле. Должен ли я поместить этот файл вне корня документа, просто чтобы быть уверенным? И если так, как я могу ссылаться на это?
[20:41] <michaelsauter> Я много кодировал в PHPStorm, теперь использую Sublime
[20:42] <Brad82> МакГи Я уже несколько месяцев пользуюсь ST3, и он ни разу не сломался (Touchwood)
[20:42] <sh4d0ws> ST2: D
[20:42] <Сантурас> программист абсолютно. Если это возможно, единственным кодом в веб-корне должен быть файл начальной загрузки index.php и любые общедоступные ресурсы.
[20:42] <santouras> почти все современные фреймворки работают так
[20:43] <michaelsauter> программист PHP все еще может включать этот файл, но в php.ini есть параметр, который разрешает / запрещает это. Я думаю, что по умолчанию
[20:43] <программист> Однако мне не удалось найти пример этого. Я использую IIS.
[20:43] <McGeough> Brad82 я использовал его несколько раз, и он потерпел крах, возможно, мне просто не повезло, но я буду обновляться
[20:43] <santouras> программист, вы развертываете в IIS или просто используете это для разработки?
[20:43] <santouras> добро пожаловать MalCurtis 🙂
[20:44] <MalCurtis> Спасибо! Я должен сказать, что два эксперта имеют очень красивые фото профиля
[20:44] <amir> ST3 хорош с точки зрения скорости
[20:44] <programmer> Я на самом деле использую apache для локальной разработки, но у меня есть настоящая среда разработки в IIS. Продукция IIS.
[20:44] <amir> но чего-то не хватает
[20:44] <Brad82> У меня все еще есть кошмары об использовании IIS на работе для производства.
[20:44] <santouras> Брэд82 меня тоже 🙁 и мне не пришлось развертывать IIS в течение 8 лет!
[20:44] <программист> Я не слишком люблю сам IIS, но проект является дополнением к существующему сайту, поэтому у меня нет большого выбора.
[20:45] <HAWK> Да! Редактор кода!
[20:45] <Сантурас> происходит волшебство
[20:45] <Brad82> программист, разворачиваете ли вы IIS7?
[20:45] <johnlacey> Я не думаю, что когда-либо видел, чтобы кто-нибудь использовал здесь редактор кода. лол. Захватывающие времена.
[20:45] <McGeough> Немного не по теме, но для тех, кто использует Контроль версий, вы бы когда-нибудь взяли всю папку с вашими проектами (все проекты в системе) в качестве хранилища или отдельного хранилища для каждого проекта
[20:46] <santouras> отдельный репо
[20:46] <HAWK> Я знаю Джонласи! Я бросил вызов парням использовать это;)
[20:46] <МакГи> Чей это маг?
[20:46] <santouras> McGeough, большинство моих php-проектов в наши дни используют composer, так что это очень естественно
[20:46] <santouras> michaelsauter Я верю!
[20:47] <МакГи> композитор?
[20:47] <michaelsauter> да это я
[20:47] <evilnick> не может редактировать в редакторе кода: | как мы это используем
[20:47] <michaelsauter> забыл, как писать константы вне класса: D
[20:47] <Brad82> Злой Ник спрашивает HAWK
[20:47] <Сантурас> http://getcomposer.org/
[20:47] <santouras> в основном версия пакета для PHP
[20:47] <программист> такой относительный ../ путь, откуда я начинаю? Я предполагаю, что мне нужно пройти весь путь от того места, где находится код.
[20:48] <michaelsauter> да, в моем примере ваш корень документа — htdocs /
[20:48] <michaelsauter> config / не доступен для IIS
[20:48] <evilnick> IIS отстой
[20:48] <santouras> Эквивалентом рубинов является https://packagist.org/
[20:48] <santouras> зло, это было установлено и согласовано
[20:49] <программист> Хотелось бы, чтобы мне не пришлось использовать IIS
[20:49] <santouras> почти все активно разработанные php проекты доступны на packagist
[20:49] <программист> Я не думаю, что пытаться смешивать два веб-сервера — это хорошая идея.
[20:49] <santouras>, если вы собираете новый проект, вам обязательно стоит взглянуть на него, это значительно облегчит использование внешних библиотек.
[20:50] <программист> спасибо
[20:51] <michaelsauter> Сохраненный редактор: https://gist.github.com/6998459
[20:51] <evilnick> HAWK я могу использовать редактор?
[20:52] <HAWK> Ага, злой ник, попробуй
[20:52] <программист> должен выполнить быстрое поручение. Вернуться позже.
[20:52] <michaelsauter> композитор действительно отличный проект. это также помогает с автозагрузкой, все, что идет с ним по умолчанию
[20:52] <santouras> php добился огромных успехов за последние несколько лет. если бы такие вещи, как композитор и PSR-0 были около 8 лет назад, это очень помогло бы
[20:53] <michaelsauter> это одна из тех вещей, которая является относительно новой и которую нельзя упомянуть во многих руководствах, хотя это невероятно полезно для изучения после того, как вы освоили некоторые основы PHP
[20:53] <santouras> и такие вещи, как борис -> https://github.com/d11wtq/boris
[20:54] <santouras> приветствуют новых людей
[20:54] <Paul> Думаю, кряк также вписывается в эту картину
[20:54] <michaelsauter> grunt больше подходит для задач внешнего интерфейса и работает на nodejs. но определенно то, что делает жизнь намного проще 🙂
[20:56] <Gerwin> мы можем поговорить об использовании пространств имен?
[20:56] <Сантурас> конечно
[20:56] <michaelsauter> конечно!
[20:56] <michaelsauter> что бы вас заинтересовало?
[20:56] <Brad82> пространства имен <3
[20:57] <Gerwin> Я раньше ими не пользовался, но мне действительно нравится то, что они делают, можем ли мы рассмотреть хороший вариант использования, когда и когда их не использовать?
[20:57] <Gerwin> любые короткие падения и т. Д.
[20:57] <pamelasue101> Я слушаю сегодня, я не знаю, какие вопросы задавать, и я просто учусь
[20:57] <eip56> Могу ответить на мой после. Но как все относятся к методам get / set в ООП PHP? Создать получает и устанавливает или использовать магические методы?
[20:57] <HAWK> Всем хорошего pamelasue101 🙂
[20:57] <harlem> Я хотел защитить этот «news.php? News_id = $ row [‘id’]», я слышал, что могу зашифровать идентификатор? Можете ли вы кто-нибудь направить меня с этим? Извините, я говорю по-французски мои предложения не будут грамматически правильными
[20:58] <Paul> разве классы в значительной степени не помещают пространства имен на второй план?
[20:58] <Brad82> Harlem, какие преимущества вы бы получили, зашифровав ID?
[20:58] <michaelsauter> Я думаю, что почти всегда хорошая идея использовать пространства имен, кроме случаев, когда у вас есть, может быть, 3-4 файла
[20:58] <santouras> Пол, нет, не совсем
[20:58] Пространства имен <evilnick> — это попытка создать нечто вроде модулей в Ruby
[20:58] <michaelsauter>, если вы пишете библиотеку или используете библиотеку, вы должны использовать их бесконечно
[20:58] <Gerwin> так и думал
[20:59] <Gerwin> чтобы избежать столкновений с другими распространенными именами классов?
[20:59] <Gerwin> так
[20:59] <Gerwin> пользователи
[20:59] <Gerwin> будет gerwins_plugin \ users
[20:59] <Gerwin> что-то подобное?
[20:59] <michaelsauter> самое сложное — это автоматически загрузить пространства имен, но есть стандарты, которые делают это довольно легко. так что если вы придерживаетесь этих стандартов, вы и другие библиотеки можете загрузить классы по умолчанию
[20:59] <michaelsauter> см., Например, http://www.sitepoint.com/autoloading-and-the-psr-0-standard/
[20:59] <Gerwin> круто
[21:00] <IckleChris> Я много слышал о том, как создание CMS / Framework является отличным способом дальнейшего развития базовых навыков PHP. Действительно ли это хорошее место для начала, и есть ли какие-нибудь указатели для этого?
[21:00] <santouras> eip56 Теоретически они мне нравятся, потому что они сокращают количество методов доступа, которые нужно написать, но они медленнее, чем прямые вызовы функций
[21:01] <Hulkur> Ickle, я не рекомендую
[21:01] <michaelsauter> @ eip56 Я лично предпочитаю методы get / set, но писать их немного утомительно, поэтому я предпочитаю PHPStorm, когда я занимаюсь обширным программированием на PHP
[21:01] <Brad82> IckleChris некоторые говорят, что блог — это хорошая вещь, если вы новичок в PHP.
[21:01] <michaelsauter> (или какая-то другая IDE)
[21:01] <santouras> IckleChris, вероятно, это не лучшая идея для создания CMS / Framework, если у вас не было большого опыта работы над одним в прошлом
[21:01] <Hulkur>, если ты не знаешь язык, ты не можешь правильно его использовать
[21:01] <harlem> Я хотел обеспечить передачу этой информации, я читал где-то, что она может открыть для различных атак
[21:01] <eip56> Кроме того, по моему мнению, IckleChris подобрать как CodeIgniter или что-то подобное
[21:01] <michaelsauter> Джервин, да, но вы бы использовали CamelCase, поэтому GerwinPlugin \ Users
[21:01] <santouras> @harlem похоже, вы имеете в виду SQL-инъекцию?
[21:01] <Brad82> Гарлем будет ли идентификатор числовым или буквенно-цифровым?
[21:01] <eip56> это ускорит процесс обучения, особенно по темам ООП
[21:02] <santouras> @harlem ты используешь фреймворк или библиотеку? или писать весь ваш код напрямую
[21:02] <Paul> Я хотел бы знать, как перепроектировать WordPress, чтобы я мог видеть, как именно он работает. Любой вклад в это?
[21:02] <Brad82> @paul как пользователь WordPress и любовник, это очень… интересная задача
[21:02] <Gerwin> о, да, выглядит лучше
[21:02] <michaelsauter> Пол WordPress с открытым исходным кодом, так что вы можете просто прочитать базу кода
[21:02] <santouras> @Paul https://github.com/WordPress/WordPress
[21:02] <evilnick> мой код правильный?
[21:03] <michaelsauter> Пол Однако я бы не советовал 🙂
[21:03] <гарлем> да
[21:03] <Brad82> Пол научиться любить кодекс WordPress, это чрезвычайно полезно
[21:03] <eip56> @Paul, на самом деле нет необходимости перепроектировать, это хорошо задокументировано в кодеке
[21:03] <michaelsauter> В WordPress много унаследованного кода… и это огромная и сложная система
[21:03] <evilnick> давно не использовал PHP и не собирается
[21:03] <santouras> хм, я не вижу обновления редактора кода
[21:03] <harlem> идентификатор числовой
[21:03] <michaelsauter> я тоже
[21:04] <HAWK> злой ник — какой код?
[21:04] <evilnick> хмм
[21:04] <evilnick> так оно и не появляется?
[21:04] <eip56> Какая у всех любимая IDE… Я использовал несколько, но моя главная задача — просто блокнот для программистов
[21:04] <santouras> @harlem ты используешь фреймворк?
[21:04] <eip56> Я бы хотел найти подходящий для моего Mac
[21:04] <santouras> eip56 ST2 популярен
[21:04] <santouras> michaelsauter — фанат phpstorm
[21:05] <Hulkur> что такое ST2?
[21:05] <HAWK> evilnick Сохраните его в gist, используя cog настроек, и посмотрим, увидим ли мы его тогда
[21:05] <evilnick> Сохраненный редактор: https://gist.github.com/6998654
[21:05] <santouras> возвышенный текст 2
[21:05] <Hulkur> шторм хорош, netbeans свободен
[21:05] <Brad82> Гарлем, на самом деле я вижу очень мало причин для кодирования идентификатора. Вы должны больше сосредоточиться на защите своих внутренних компонентов сценариев, чтобы все, что пользователь устанавливает в качестве идентификатора, можно было безопасно проанализировать.
[21:05] <harlem> Я прочитал эту книгу PHP Mysql веб-разработки
[21:05] <cliffgs> Я обычно так и делаю. Я подключаюсь с помощью include_once $ _SERVER [‘DOCUMENT_ROOT’]. ‘/../code/admindb.inc.php’;
[21:05] <cliffgs> И Net Beans — кроссплатформенная
[21:05] <HAWK> Хорошо, это сработало, злой ник — не уверен, почему мы не видим его вживую
[21:06] <Hulkur> netbeans — это java, поэтому он ест память
[21:06] <harlem> santouras Я не использую никаких фреймворков
[21:06] <santouras> Harlem самое главное — дезинфекция любого пользовательского ввода
[21:06] <michaelsauter> Хулкур Я думаю, что почти все IDE являются Java 🙁
[21:06] <Brad82> harlem Помните, даже если в вашем приложении вы кодируете строку запроса, я всегда могу вручную ввести в адресную строку эксплойт, в этом случае кодирование не имеет никакого эффекта
[21:06] <OliverThomas> Есть ли полезные плагины PHP для Notepad ++?
[21:06] <santouras>, если ты не проверил это, не верь этому
[21:07] <cliffgs> Хулкарская память дешевая и обильная
[21:07] <santouras> используют регулярные выражения, чтобы гарантировать / убрать все, что не то, что вы ожидаете. и если вы получите забавные результаты, не идите дальше
[21:07] <michaelsauter> Оливер Томас не уверен, я никогда не использовал его.
[21:07] <harlem> Brad82, что я могу сделать, чем использую скрипт php regex, чтобы сделать то, что я $ _GET — это то, что я хочу
[21:08] <OliverThomas> Привет, Майкл, понятно. какую программу вы рекомендуете для разработки PHP?
[21:08] <michaelsauter> Попробуйте отличный текст, в нем много плагинов
[21:08] <Hulkur> Памяти много, но NB все еще ест все
[21:08] <Халкур> и медленно
[21:08] <evilnick> да: D
[21:08] <Paul> Я не знаю, о чем написано, но аптана тоже ест память
[21:08] <evilnick> Аптана — это Затмение
[21:08] <Hulkur> шторм как-то быстрее и менее голоден
[21:08] <santouras> aptana — это java
[21:08] <Brad82> Гарлем, ты сказал, что ID будет числовым? В этом случае все, что вам требуется, это сделать is_numeric () для переменной $ _GET, медленное регулярное выражение не требуется!
[21:08] <OliverThomas> Спасибо, я проверю это
[21:08] <Michael> Я использую UltraEdit Studio для разработчика PHP
[21:09] <santouras> если ваше предложение «[редактор] ест память», скорее всего, оно основано на java;)
[21:09] <Hulkur> поддерживает ли возвышенный переход к классу / функции?
[21:09] <Aaron> Мне нравится PHPStorm
[21:09] <Сантурас> да
[21:09] <Сантурас> Хулкур, да
[21:09] <michaelsauter> Да, так вот почему PHPStorm был / мой выбор, он оказался самым быстрым среди более тяжелых IDE. Но нигде рядом с ST или Textmate и т. Д.
[21:09] <Brad82> ястреб, я могу получить редактор на секунду?
[21:09] <harlem> Brad82 santouras
[21:09] <HAWK> Кажется, он не работает должным образом
[21:09] <OliverThomas> michaelsauter Опасно ли перебирать суперглобальный $ _POST при обработке данных формы
[21:09] <santouras> http://www.sublimetext.com/ <- перейти на что угодно
[21:09] <Gerwin> Я предполагаю, что большинство людей здесь используют phpMyAdmin? Это так?
[21:10] <harlem> спасибо, ребята, Brad82 santouras какие-нибудь ссылки?
[21:10] <HAWK> Попробуй Brad82
[21:10] <michaelsauter> OliverThomas нет, если вы не делаете с этими данными что-то вроде ввода их в базу данных
[21:10] <Paul> Я только начал использовать vim. это довольно мощный
[21:10] <evilnick> Какого черта я здесь вообще делаю, я только что вспомнил, что ненавижу PHP: D
[21:10] <michaelsauter> OliverThomas чего ты хочешь достичь?
[21:10] <santouras> Джервин, нет, я использовал SQLYog для Windows / Linux и SequelPro для Mac
[21:10] <santouras> У меня аллергия на phpmyadmin 🙂
[21:10] <OliverThomas> Я использую подготовленные выражения для вставки
[21:10] <Aaron> Как лучше всего анализировать код на предмет безопасности? У меня нет денег на Acunetix, есть ли другие варианты?
[21:10] <Gerwin> Круто, если кому-то интересно, я недавно построил этот http://cabindb.com/
[21:11] <OliverThomas> просто ищет совета о том, как лучше делать определенные вещи
[21:11] <Hulkur> новое дерево phpmyadmin ужасно
[21:11] <Gerwin> да
[21:11] <michaelsauter> Гервин выглядит мило!
[21:11] <santouras> Гервин хороший, очень хороший, посмотрим на это
[21:11] <Майкл> Я использую Navicat
[21:11] <santouras> Я почти всегда предпочитаю настольные приложения, но на это посмотрю
[21:11] <Gerwin> спасибо, это довольно молодо, и я бы очень хотел, чтобы люди попробовали это, но пока не надейтесь на это 🙂
[21:12] <michaelsauter> OliverThomas, так что вы зацикливаетесь на $ _POST и внутри цикла, используя подготовленные операторы?
[21:12] <Brad82> Гарлем, проверь редактор так просто!
[21:12] <Hulkur> есть что-то лучше, чем PHP?
[21:12] <Хулкур> не может быть
[21:12] <MalCurtis> Хорошо выглядит, Джервин (и привет!)
[21:12] <jaequery> люди все еще учат PHP?
[21:12] <michaelsauter> OliverThomas Я бы даже тогда был очень осторожен, может быть, лучше просто зациклить ключи, которые вы определили, а затем посмотреть значение суперглобального значения оттуда
[21:13] <Brad82> Гарлем https://gist.github.com/6998745
[21:13] <eip56> Жакер ты, богохульник
[21:13] <eip56> PHP качается
[21:13] <OliverThomas> michaelsauter нет нет, я обрабатываю данные формы с помощью foreach (), чтобы обрезать данные, а затем прохожу каждое поле в отдельности, проверяя различные требования, а затем включаю подготовленный сценарий утверждения.
[21:13] <evilnick> ты будешь использовать Ruby
[21:13] * злой ник начинает священную войну
[21:13] <Gerwin> Рубиновый синтаксис может вызвать рвоту
[21:13] <santouras> Аарон, ты смотрел на PHPMD?
[21:13] <jaequery> это был серьезный вопрос: x
[21:13] <santouras> Гервин злой, в мире есть место для многих языков 🙂
[21:14] <Hulkur> Синтаксис ruby ​​вызывает рвоту
[21:14] <evilnick> не для PHP
[21:14] <santouras> некоторые люди до сих пор используют кобальт
[21:14] <michaelsauter> jaequery Я думаю, что PHP не плохой выбор. Это легко получить, и в зависимости от того, где вы живете, много рабочих мест. Конечно, другие языки имеют лучший дизайн, но есть множество приложений, написанных на PHP
[21:14] <Аарон> Сантурас, у меня нет…
[21:14] <michaelsauter> Оливер Томас звучит хорошо тогда
[21:14] <evilnick> PHP даже не имеет соглашения об именах
[21:14] <Gerwin> МалКуртис, эй, парень, видел твое имя. Да, это начало, с ограниченным количеством свободного времени у меня есть ха-ха.
[21:14] <jaequery> мои php коды хороши. я просто терпеть не могу других (WordPress, Drupal, Joomla, гадость)
[21:14] <Hulkur> зло, ты имеешь ввиду не навязывание тебе соглашения об именах
[21:14] <Paul> Я не нашел простого способа вставить код из внешнего файла в vim, кроме какой-то длинной команды в макросе
[21:15] <evilnick> Я имею в виду соглашение об именовании базовой библиотеки
[21:15] <michaelsauter> evilnick https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
[21:15] <Paul> Я бы хотел, чтобы я мог в Vim
[21:15] <MalCurtis> Gerwin, вы можете запускать произвольные SQL-запросы? Это одно из моих основных применений для любого инструмента SQL
[21:15] <Elie> соглашение об именах? лол использовать свой собственный
[21:15] <michaelsauter> PHP изменился за последние несколько лет
[21:15] <Gerwin> MalCurtis Да, сэр, с подсветкой синтаксиса!
[21:15] <OliverThomas> Спасибо Майклу за отзыв
[21:15] <МалКуртис>, сын.
[21:15] <Hulkur> о пространствах имен, там действительно нет смысла, если вы называете свои классы чем-то вроде My_Package_Class
[21:15] <jaequery> честно, я думаю, что это обернулось к худшему
[21:15] <evilnick> да, но невозможно определить, какую функцию использовать, потому что они используют разные соглашения об именах
[21:15] <Gerwin> А пользовательские разрешения легко сделать!
[21:15] <Хулкур> тогда нет конфликта
[21:16] <harlem> спасибо Brad82
[21:16] <santouras> Хулкур я бы не согласился, в основном из-за кода красавицы 🙂
[21:16] <MalCurtis> Халкур, да, это здорово, пока ты не увидишь несколько больших
[21:16] <jaequery> обсуждение автозагрузчика на php-fig меня тошнит
[21:16] <Hulkur> я работаю над magento, достаточно большой
[21:16] <Gerwin> DL и попробуй запустить его на месте, сыграй. Я еще не тестировал на многих машинах, Mac и ПК работает, и мой компьютер AWS тоже. Все еще нуждается в дополнительном тестировании, все js стили одной страницы
[21:16] * злобный негодяй
[21:16] <HAWK> злой парень только что сошел с ума
[21:17] <MalCurtis> Нравится: Sitepoint_Courses_PageController_CourseAdminController
[21:17] <michaelsauter> хаха 🙂
[21:17] <eip56> ХОУК, этого вы, наверное, знаете лучше всех остальных. Немного более общий может кто-нибудь порекомендовать сервис для проверки кросс-браузерной совместимости. Надеюсь, бесплатно, но я знаю, что есть несколько сервисов, где я могу проверить свой сайт в старых виртуальных браузерах
[21:17] <santouras> MalCurtis 🙁
[21:17] <MalCurtis> * вставьте сюда смайлик от рвоты *
[21:17] <jaequery>, из чего сделан этот чат?
[21:17] <Hulkur> как короче с пространством имен?
[21:17] <Brad82> MalCurtis У меня только что был мини-инсульт, глядя на это
[21:17] <jaequery> это с открытым исходным кодом?
[21:17] <MalCurtis> когда вы находитесь внутри пространства имен, вам не нужно вводить все это …
[21:17] <programmer> Есть ли другие рекомендуемые проверки для переменных get и post? Я вижу что-то в окне кода.
[21:17] <michaelsauter> Hulkur вы можете импортировать пространства имен, а затем просто использовать имя класса
[21:18] <MalCurtis> jaequery вроде, я начал с kiwiirc, который является клиентом irc с открытым исходным кодом node.js, затем добавил в корзину множество настроек
[21:18] <Hulkur> не могли бы вы показать мне некоторые правильно сделанные пространства имен
[21:18] <Brad82> программист, который был очень упрощенным примером, чтобы проверить, был ли get var числовым
[21:18] <michaelsauter> программист, так что либо вы используете фреймворк, который делает все это за вас, либо лучше всего знать, для чего вы используете переменную, а затем очищать ее специально для этого
[21:18] <Hulkur> я думаю, что пока не понимаю их правильно
[21:19] <santouras> Сохраненный редактор: https://gist.github.com/6998820
[21:19] <Brad82> программист, это зависит от того, что вы делаете с указанной переменной, от того, как вы ее дезинфицируете / проверяете
[21:19] <HAWK> Может кто-нибудь помочь eip56 с хорошими сервисами тестирования совместимости браузера?
[21:19] <Hulkur> это мало, как вы размещаете модели и виды?
[21:19] <программист> Каков лучший способ очистки? В основном у меня есть строки.
[21:19] <Hulkur> тебе все еще нужны длинные имена
[21:20] <Хулкур> просто / вместо _
[21:20] <Brad82> @hulker
[21:20] <jaequery> более рекомендуется использовать Sitepoint или \ Sitepoint
[21:20] <programmer> И большинство из них должны быть только одним символом Y или N
[21:20] <michaelsauter> @programmer зависит от того, где вы хотите использовать эту строку. когда вы хотите отобразить его, используйте htmlspecialchars или аналогичный, когда для mysql, используйте некоторую escape-функцию mysql
[21:20] <santouras> jaequery, как правило, вы используете Sitepoint, если не хотите убедиться, что достигли корневого уровня
[21:21] <программист> Хорошо, я думаю, что у меня есть mysqli_real_escape или что-то в этом роде.
[21:21] <santouras> jaequery, вы чаще всего видите это с людьми, явно использующими класс \ Exception
[21:21] <программист> Потому что они идут в запрос БД
[21:21] <Paul> elp56 Мне нравится http://quirktools.com/screenfly/
[21:21] <jaequery> почему ты не хочешь всегда начинать с root?
[21:21] <Paul> но это разрешение экрана
[21:21] <HAWK> eip56 Ты в Твиттере? Я только что написал в твиттере от @sitepointdotcom
[21:22] <michaelsauter> Хулкур, посмотрите мое расширение кода. Вы можете использовать короткие имена, как только вы импортируете пространство имен в верхней части файла
[21:22] <santouras> jaequery, потому что он разрешает любые импортированные пространства имен
[21:22] <michaelsauter> программист, да, это хорошо, если вы используете его внутри SQL-запроса
[21:22] <AlexF> Еще одно приятное преимущество пространств имен — использование псевдонимов Some \ Other \ Namespace в качестве NS;
[21:22] <santouras>, так что, начиная с корневого вида, забирает весь смысл «использования»
[21:22] <jaequery> как пространство имен обрабатывает вещи, где у вас есть Sitepoint \ *, а у кого-то еще есть Sitepoint \ * из чистой удачи?
[21:23] <Nofel> Я болею за php уже много лет, но как я могу подать заявку, вы не можете получить проект, не доказав, что вы эксперт php, так как вы практикуете проект php для проверки навыков?
[21:23] Программиста <Brad82>, запускающего переменные $ _REQUEST через mysqli_real_escape… достаточно, прежде чем поместить его в запрос SQL
[21:23] <santouras> Нофель лучше всего написать приложение как личный проект и разместить код на github
[21:23] <Paul> elp56, это бесплатный кроссбраузер http://browsershots.org/
[21:24] <программист> Отлично. Я также проверяю длину ввода.
[21:24] <eip56> Ястреб Я
[21:24] <Hulkur> ты будешь читать руководство! 🙂 обнаружил, что мой отсутствующий ноулег использует My \ Full \ Classname как Другой;
[21:24] <eip56> 🙁 и я подумала, что мы друзья!
[21:24] <Nofel> Сантурас, ты хочешь сделать свой собственный проект?
[21:24] <michaelsauter> jaequery, тогда это проблема. однако, если вы следуете стандартам и загружаете свою библиотеку на packagist.org, этого не должно произойти
[21:24] <Hulkur> псевдоним пространства имен и больше нет длинных имен
[21:24] <Нофель> что такое
[21:24] <santouras> jaequery документация охватывает разрешение — http://php.net/manual/en/language.namespaces.rules.php
[21:24] <Brad82> программист сначала запускает все переменные через mysql_escape…, а затем использует эти очищенные переменные в проверках strlen ($ var)
[21:24] <jaequery>, вот почему я в замешательстве, не является ли кукла пространства имен, чтобы избежать столкновения, когда оно есть?
[21:25] <MalCurtis> Цель состоит в том, чтобы предоставить инкапсулированное и изолированное место для написания пакета кода, что позволяет избежать коллизий как его части.
[21:25] <michaelsauter> Hulkur afaik, это только псевдоним пространства имен, а не класса
[21:25] <Hulkur> да, но тогда вы используете псевдоним в качестве короткого пространства имен
[21:26] <santouras> Нофель да, написание собственного проекта в качестве примера приложения
[21:26] <Nofel> Я слежу за php-тренингом Кевина Скоугланда на Линде. Он проводит рефакторинг в основной тренировке, которая выходит из понимания, насколько важно знать рефакторинг на ранней стадии.
[21:26] <Brad82> программист помнит, де-факто использовать $ variable = mysqli_escape .. ($ _ GET [‘variable’]); и затем используйте переменную $ в скрипте позже (например, в проверке strlen ()).
[21:26] <HAWK> Вот, пожалуйста, eip56 🙂 В любом случае, посмотрите наш поток позже, чтобы увидеть, что люди предлагают
[21:26] <programmer> А как насчет ввода, которое будет возвращено пользователю в виде файла?
[21:26] <Hulkur> согласно php.net вы можете псевдонимы классов
[21:26] <michaelsauter> Хулкур, это будет \ My \ BadlyNamedNamespace как PerfectlyNamedNamespace. а затем PerfectlyNamedNamespace \ SomeClass
[21:26] <jaequery> MalCurtis, как насчет Zend / PEAR, если вы запустили свою папку как имя поставщика, это не вызовет конфликтов, верно?
[21:26] <Brad82> программист, который не нуждался бы в дезинфекции
[21:26] <HAWK> Хорошо, люди, осталось 5 минут. Если у вас есть вопрос, который вы не задали, то теперь это ваш последний шанс!
[21:27] <Nofel> Я читал php ООП, и я не мог понять parent и что он делает
[21:27] <Brad82> parent относится к классу, из которого был расширен текущий класс.
[21:27] <michaelsauter> jaequery, используя пространство имен, вы все равно начинаете с имени поставщика
[21:27] <Nofel> Brad82 как пример?
[21:27] <santouras> Nofel parent будет вызывать родительскую функцию из подкласса. что удобно, если вы переопределяете функцию
[21:27] <programmer> Мой другой вопрос, вероятно, слишком сложен, и я, вероятно, должен задать его на форуме Sitepoint.
[21:27] <Hulkur> B расширяет A => родитель — это A
[21:27] <jaequery> единственное, что решает пространство имен, — это то, что он может сократить имя класса
[21:28] <jaequery>, которым является imo w / IDE на самом деле не такая уж большая проблема
[21:28] <michaelsauter> jaequery, используйте только библиотеки, которые следуют psr0,1,2. тогда у вас не будет конфликтов и хорошей совместимости
[21:28] <Brad82> Нофель, есть отличный пример родителя на http://php.net/manual/en/keyword.parent.php
[21:28] < jaequery> и почему у нас так много PSR
[21:28] <santouras> jaequery, это также важно, как упомянул MalCurtis, чтобы помочь вам написать инкапсулированный код
[21:28] <jaequery> разве у нас не должно быть «одного»?
[21:29] <Paul> Notel … да, я делаю это сейчас
[21:29] <jaequery> как мы стандартизируем это, когда так много новых / новых добавляются каждый месяц
[21:29] <michaelsauter > jaequery, они решают разные проблемы
[21:29] <Hulkur> 0 — автозагрузчик, 2 — стиль кода iirc
[21:29] <Paul> Notel делает это с помощью restful-сервисов и ajax или json
[21:29] <michaelsauter> Смотрите https://github.com/php-fig/fig-standards
[21:29] <Nofel> Brad82, что было полезно.
[21:30] <jaequery> ах гоча
[21:30] <Brad82> @nor
[21:30] <jaequery> мне нравится этот чат, когда следующий и как часто вы, ребята, делаете это?
[21:30] <Brad82> Нофель, тебе нужно это объяснение?
[21:30] <santouras> jaequery каждую неделю!
[21:30] <Paul> Notel делает плагин wordrpess
[21:30] <santouras>, но не всегда на PHP;)
[21:31] <Nofel> я пытаюсь выучить magento, и это все ООП, так что мне нужно PHP или ООП или MVC
[21:31] <HAWK> Aaaannnnddd … это завершение!
[21:31] <jaequery> я бы хотел посмотреть чат на угловой
[21:31] <HAWK> I ‘я собираюсь освободить наших экспертов, когда они захотят
[21:31] <HAWK> Остальные могут свободно оставаться сколько угодно
[21:31] <программист> Большое спасибо. Это было прекрасно.
[21:31] <Hulkur> @Nofel, вам нужен кто-то, кто знает magento
[21:31] <Nofel> Brad82, зачем использовать parent, когда вы можете ссылаться на функцию
[21:31] <HAWK> Вам повезло, jaequery — через пару недель есть Angular
[21:31] <santouras> спасибо HAWK 🙂
[21:31] <michaelsauter> Спасибо, что присоединились!
[21:31] <Сантурас> Спасибо, комната!