×

Подскажите книгу для изучения PHP

Всем привет

Хочу php & mysql освоить, чтобы работать программистом. До этого многое прочитал по js, jquery

Много гуглил. В основном советуют:
— «PHP 5 в подлиннике» Котеров 2008г.
— Matt Zandstra / Мэтт Зандстра — PHP Objects, Patterns, and Practice / PHP. Объекты, шаблоны и методики программирования PHP

Начал читать первую, но чувствую, что не мое. Старая (даже windows 95/98 описывается :) ) и автор уже со старту до php грузит всяким в не самой удобоваримой форме.

Подскажите, пожалуйста, книжку (можно на англ).

На всякий случай скачал еще 4 уровня по php от специалиста (но после их 2 уровней оп js смотреть не хочется) + сборник курсов по php от lynda.com (это уже после книг).

Спасибо!

П.С. Да, я знаю, что лучший совет по php, это «лучше выберите другой язык для освоения», но все же он очень востребованный и у него низкий порог входа.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Лутца уже советовали? ))

Эту Изучаем Python, 4-е издание ? О.о

Я ее когда-то купил по бросовой цене, но так файл и не открывал.

Еще нашел Beginning PHP 5.3 Но там аж 800+ страниц и много всякого кроме php. Это уже в будущем для углубления можно читать.

А какой бекэнд язык наиболее подходящий для больших нагрузок? Например, на таких сайтах, как ВК, фейсбук, Аукро, ебей, амазон.

Java
у фейсбук — Hack на HHVM

но вообще — не совсем от языка зависит. так что считай что любой из универсальных из 50ки Tiobe
ну может кроме Ruby.

У java, вроде, требования к оперативки большие?

Интересует такой вопрос, не холивара ради..

Сейчас пишу на PHP, но хочу изучить еще один язык.
Выбираю между Python/Django и Ruby/ROR.
Знаю, что Python универсальный язык, но интересный только веб.

Что сейчас посоветуете изучать?

p.s. И да, PHP мне нравится.

Выбирай что подуше, почитай форумы, посмотри на код Django/ROR на github и т.д.

Смотрел сравнение этих языков, на codecademy немного прошел и то, и другое.
А так каждый хвалит тот язык на котором сам пишет.
Хотя больше ruby (ROR) хвалят, а python (Django) как по мне более популярен.

Напишите блог на руби и питоне (пайтоне?). И потом выберете то, что больше по душе. Работа есть везде, главное чтобы она была в радость.

Имхо, ruby — приятнее, python — востребованнее (хотя сейчас на jobs.dou.ua примерно одинаково).

спасибо за инфу. В будущем буду выбирать.

Пока что php с такими глазами О.О смотрю.

$x=’0′;
$y=’false’;
empty($x); // true
empty($y); // false
(boolean) $x; // false
(boolean) $y; // true

Как-будто человек в диком угаре придумывал такой принцип работы.

Пока конспектирую в еверноут, потому что я не очень понимаю как такое нелогчиное поведение запомнить за 1 раз. :)

Зате як таке люблять питати на співбесідах))

Честно говоря, я думал, что php продвинутее js и будет более продуманным. Вроде, же старше. А в js только "" из строк переводится в false — просто, понятно и логично.

Читаем мануал и понимаем почему это так работает и все.

так любую кривизну оправдать можно — главное, в мануале не забыть описать
.
php.net/...ction.empty.php

Note:
Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
вот еще пример дикой кривизны

попробуйте (1)++
в каком языке это не приведет к ошибке?
это языковая конструкция. ну, работало только с lvalue и что? в чем тут кривизна?

кривизна в том, что выглядит как функция, работает как функция и названа как функция (в противовес isset-у, который по сути должен работать с lvalue), и в то же время валится на значениях

кривизна в том, что выглядит как функция, работает как функция и названа как функция (в противовес isset-у, который по сути должен работать с lvalue)
то есть, вы в курсе, что это даже не функция, но все равно — претензии?
empty работает как isset + .to_bool == false, функцией оно в принципе быть не может.
очевидно, что оно может и с rvalue заработать, но надо будет изменить часть кода ядра. как-то не соразмерно решение проблеме.
если вам не надо «неявный isset», сравнивайте с false

ну да, ну да — в этом весь PHP — что-то работает, но не всегда совсем так, как может предположить человек, уже имеющий опыт в других языках программирования
и поэтому человек вынужден натыкаться вот на такие грабли повсюду — «выглядит как функция, но это language construct»
.
anyway, проехали, я о языке и о его творцах выводы сделал и везде рекомендую не использовать PHP без крайней на то нужды

А что вместо него использовать?

python
после него — можно и PHP
(еще пару лет назад рекомендацией для первого языка быль бы паскаль)

спасибо. Наверное, после php посмотрю в будущем. не хочется мне постоянно юзать php.

В js, например, берем строку и вызываем разные методы. А в php куча функций с запутанными названиями (еще и синонимы есть) и аргументами выставленными в нелогичном порядке.

Так и я смотрю, что на python вакансий больше чем на ruby. Да и работу имхо джуну найти не так уж и просто.
Плюс еще эта картинка с ЯП:
cdn2.carlcheo.com/...infographic.png

Смотрел код и python, и ruby (больше в python разбирался), но, как это ни смешно звучит, после php не удобно привыкать к такому синтаксису.
Плюс в ruby, на мой взгляд, слишком специфический ситаксис (его операторы). Хотя многие рекомендуют именно ROR

синтаксис Ruby дело вторичное.
его киллер фичи, в силу свойств ЯП, метапрограммирование и легкость создания DSL
то что выглядит магией для новичка

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

Интересно, а какой серверный язык возможно в будущем потеснит php (например, в плане использования на рынке)?

По тому, что я вижу в видеокурсе, php мне пока что не нравится. Хочется иметь на примете возможные альтернативы :)

Меня аж сипает от такого синтаксиса:

$x = strlen($string);
$bar = (boolean) $foo;
+ различающиеся правила именования функций.

Объектно-ориентированный JS удобней и приятней.

var $x = $string.length;
var $bar = Boolean($foo);

Интересно, а какой серверный язык возможно в будущем потеснит php (например, в плане использования на рынке)?
на рынке в основном используется суржик: “мущщіна, та купляйте памідори, дивіться, які хароші”
.
насчет языков — у тебя путанница в терминологии
php — не “серверный” язык, само его название кагбе пытается нам подсказать “php hypertext preprocessor”
то есть изначально ниша довольно узка — принять запрос, создать страничку/заполнить шаблон, отдать клиенту
.
а на “сервере” успешно могут жить куча языков — python, ruby, c#, java, javascript (node.js не к ночи будь помянут), даже си и си++, проблема только в фреймворках и библиотеках, которые скрывают всю рутину
ну и заточенные для серверных задач языки типа erlang, его OTP (компилятор ASN там не зря находится) и вообще вся erlang vm
php в этом плане находится как бы слегка в “нише” — большинство тех вещей, которые в других языках решаются “фреймворком” (разбор ком. строки, принятие и обработка запроса, запуск application server-а), вынесены в интерпретатор языка (сразу готовые $_SERVER, $_REQUEST, $_SESSION и т.д.)
.
Объектно-ориентированный JS удобней и приятней.
уж послала так послаланабросил так набросил

Я в уроках слышал, что php в основном строки гоняет и все. Но есть же еще Ajax (нужно слушать, наверное), запись в файлы, генерирование картинок и прочее.

а на «сервере» успешно могут жить куча языков — python, ruby, c#, java, javascript (node.js не к ночи будь помянут), даже си и си++, проблема только в фреймворках и библиотеках, которые скрывают всю рутину
По сути часть этих языков привязуются по расширению в модулям интерпретаторам apache?

Пока он кажется каким-то неудобным в плане синтаксиса. Как велосипед с овальными колесами: ехать можно, но не очень удобно. :)

этих языков привязуются по расширению в модулям интерпретаторам apache?
к апачу привязывать это уже моветон (даже php), сейчас либо у технологии сам application server умеет и http запросы принимать (tomcat, node.js), либо работает со стандартным веб-сервером по fastcgi/uwsgi/... протоколу.
кажется каким-то неудобным в плане синтаксиса
ну дык не стоит себя насиловать тогда.
как пример более-менее вменяемого кода на php можешь посмотреть на github.com/...ib/Doctrine/ORM или github.com/...er/library/Zend
не понравится, ну тогда лучше выбрать другой язык сразу
к апачу привязывать это уже моветон, сейчас либо у технологии сам application server умеет и http запросы принимать (tomcat, node.js), либо работает со стандартным веб-сервером по fastcgi/uwsgi/... протоколу.
Я в общем вообще вас не понял, но ладно. Я не шарю в таком
уж послала так послаланабросил так набросил
имел ввиду, что там все = объекты, кромн null & undefined

Хехе, напишите в консоли typeof null
;)

никогда не пробовал. Показало object. Хотя по сути означет, что объекта нет.

вар в каждой строке ? в 2014 году ? рили ?

Это объявление переменных в js. Без него в строгом (правильном) режиме будут ошибки.

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

в 1970х годах
... javascript-а не было

прошло 40 лет, интерпертаторы по прежнему требуют варов )))

Я и php их впихнул для удобства читаемости кода.

без них никак. Ведь надо же объявлять локальные переменные во вложенных функциях и циклах.

Хотя в js даже переменные-счетчики циклов «всплывают» в блоках функций и доступны задолго до места их реально объявления и использования.

function echo(){
console.log(i);
for (var i=0; i<3; i++){
console.log(i);
}
}
echo();

undefined
0
1
2

Нелогично, но...

я к джаваскрипту любовью не проникся, вначале его лепили в перемешку с хтмл кодом, потом пошла концепция разделения — скрипты отдельно, контейнеры отдельно. при взгляде на скрипты у меня по прежнему возникает оторопь — что за хрень тут написанна. jQuery мне понравился больше — он хотябы универсален для експлорера, фаерфокса и хрома. в обоих случаях — это фронтэнд онли и при этом это фронтенд который наполнен интерактивными штуками, в то время как большинство страниц требуют всего 3-5 действий.

Я только в начале пути, но мне кажется, что обртная совместимость не дает php и js выпасти в красивые языки.

Мне тоже только библиотека jquery понравилась. Чистый js для путешествия по DOM не годится.

Коментар порушує правила спільноти і видалений модераторами.

всмысле только? вы на mootools , dojo , смотрели?

нет. Я почитал и выбрал только самое популярное. Про mootools слышал только в контексте того, что joomla заменяла его внутри себя на jQuery

а какой серверный язык возможно в будущем потеснит php
никакой.

просто по факту, что было много причин и кандидатов потеснить.

если о шансах потеснить то хорошие у питона и джс (см io.js)

Ніякий. PHP це назавжди. Я сер’йозно.

Учить PHP в сферическом вакууме не имеет смысла ... я вижу Ваше обучение где-то так =)

(1) Самые основы:

— PHP синтаксис языка, основные понятия ( массив, переменная, цикл)
... здесь Котеров как раз и поможет понять основы программирования
если есть понимание написанного здесь:
learnxinyminutes.com/docs/php
( learnxinyminutes.com/...s/ru-ru/php-ru )
идем дальше

— для начала можно практиковать в online sandbox
sandbox.onlinephpfunctions.com

— завести гугл доки в которые писать важные ссылки и
команды напр по git, linux

— для удобства изучения поставить LAMP / WAMP
лучше конечно LAMP (Linux, ssh..) на виртуалке VirtualBox, позже можно Vagrant.

— поставить редактор (лучше IDE) с подсветкой синтаксиса
JetBrains PhpStorm (мой выбор), RapidPHP, Sublime text 3

— не зависимо от профиля Frontend pro vs Backend vs Fullstack (front+backend)
для начала нужно также понять mysql, ftp, js, css, http (client-server), ... где-то так:

piccy.info/...96b727f1f/orig

— ознакомиться с www.phptherightway.com

(2) Начинающим (не зависимо от языка) начинаем практиковать изучая:

— Понять паттер MVC

— Инструменты своего языка ( frameworks, tools etc.)

для начала попробовать сделать первое приложение
( как правило пример всегда найдеться в оф. документации -
зачастую там довольно доступно описано по шагам) для PHP:

Bonfire Codegniter ( для начала пойдет)
( также попробовать в широко-распространенных frameworks )
Yii2, Symfony2, Laravel

(3) Инструменты frontend ( понять основы ) :

— CSS frameworks напр. Twitter bootstrap

— JS tools напр. JQuery

— JS frameworks ( хотябы ознакомиться )
habrahabr.ru/post/177115

— Системы контроля версий (рекомендую) Git ( в паре с github )
( т.к. особо на процессе обучения часто бывает что неловким движением можно свалить всю дневную работу, кототрая не так быстро идет на этом этапе )

— SQL ( CRUD )

(4) Повышаем свой уровень:

— Вспомнить еще раз про особенности работы с функциями,
передачу по ссылке ( если хватит сил замыкания)

— Алгоритмы ( особенно если метите в gamedev )
в принципе для началу это уверенная работа с массивами

— Парадигма ООП — пишем немного велосипедов

— Инструменты
усваиваем выбранный php framework

— паттерны проектирования ( ознакомиться )
книга Мэтт Зандстра будет очень полезна
т.к. попутно учит хорошему подходу ( будет легко понять SOLID )

— устройство frameworks

---------------------

Вы сможете выучить язык только через практику ...

Ко всем задачам рекомендую подходить по принципу Shu-Ha-Ri:

— изучаем один рабочий путь для достижения результата
( готовые рецепты)
— изучаем остальные пути
( дока)
— абстрагируемся от всего =)

Хорошего обучения ;)

Спасибо. Вот уж написали по полной :)

— PHP синтаксис языка, основные понятия ( массив, переменная, цикл) ... здесь Котеров как раз и поможет понять основы программирования
Выбрал пока видеокурс Специалиста и его смотрю. Препода все хвалят. Хотя выражается он иногда некотортно (например, «копирование переменных» хотя мы реально копируем только значение переменной). Но в целом крут. Те же ссылки в php на рисунках объяснял.
завести гугл доки в которые писать важные ссылки и команды напр по git, linux
По js и jquery писал конспекты в тетрадях. По Linux и php начал уже в Evernote.
для удобства изучения поставить LAMP / WAMP
Пока поставил openserver. Препод тоже его использует. Там в пару кликов можно сменить сервер, версию php и прочее. Потом перейду на виртуалку.
— поставить редактор (лучше IDE) с подсветкой синтаксиса
Стоял sublime 2, но оно что не подсказывает команды при вводе, например, как dreamweaver. Поэтому поставил PHPStorm
CSS frameworks напр. Twitter bootstrap
Скачал Tutsplus — Bootstrap for Web Design и Twitter Bootstrap Web Development How-To После большой книге по CSS еще смотрел небольшой курс по Sass
Системы контроля версий (рекомендую) Git ( в паре с github )
Скачал Lynda.com Git — Essential Training
— Понять паттер MVC
Единственное по чем я пока ничего не искал и не читал даже вкратце. Отложил на «после основ всего»
Вы сможете выучить язык только через практику ...
Спасибо. Я уже ощущаю. что на теории далеко не уехать. Теперь еще и учусь быстро печатать, а двухпалая печать меня реально напрягает и мешает думать.

Еще раз спасибо за советы!

Про CMS забули. І про володіння графічним редактором теж.

Я умею работать в редакторах. Дизайном занимался.

Хочу еще афтер эффект освоить.

Коментар порушує правила спільноти і видалений модераторами.

Неплохой связкой может стать The PHP Study Guide + официальный мануал
— www.zend.com/...ion-study-guide
— php.net
Попутно свой фреймворк-велосипед, разбор паттернов и лучших практик, сборники рецептов.
Для шлифовки стиля можно начинать читать Мартина/Фаулера.

Спасибо. В виде сборников пецептов скачал всякие «PHP Cookbook», но пока основы учу

вот эту книгу советую.

Серьёзно, бесполезно советовать книгу, не поняв, где у вас дырки в знаниях, а где у вас сильные стороны. Чтобы понять это, вам надо пройти тесты (Quizful сейчас развивается), а потом уже с результатами анализов приходите и мы посмотрим. Ещё в любом языке хороший ментор нужен. Либо вообще кто-то, кто будет фидбеки оставлять на то, что вы пишете.

Я задолго до создания темы перечитал все темы о начале изучения php (как и про актуальные языки) на toster.

Ещё в любом языке хороший ментор нужен.
Та где его найти (незанятого). Тем более в php, где какашкокодеров уйма. Я пока и сам справлюсь: видеокурсы и книги в инете есть.

По корректировке направления буду спрашивать здесь и у Artem Korneenkov

хотя мне php уже не нравится. Это же просто «гении» придумали, что true в строке препобразуеся в «1», а false — в «0» пустую строку.

Та где его найти (незанятого). Тем более в php,
Хммм, может начать уроки самому давать, надо подумать на эту тему... Хотя не, PHP как и Perl — язык воров-велосипедистов-экспериментаторов. Yii, Laravel, Symfony, ZF, Magento, Kohana, Drupal, WP, Livestreet, Datalife, Doctrine — ну в каком ещё языке (кроме JS) есть такое адовое количество велосипедов, которые вечно друг у друга что-то тырят, а то и не гнушаются из Java или ROR идей понатаскать )))
Свободный рынок в чистом виде.
то же просто «гении» придумали, что true в строке препобразуеся в «1», а false — в «0» пустую строку.
Это вы ещё Javascript не видели (=

Ессно он нелогичен, разработчикам PHP и так несладко, а когда очередной велосипедист к ним прибегает с предложением переставить педали на руль, ибо «так удобнее моему фреймворку», я вообще удивляюсь, как они не стреляются. Хотя вот в пятёрке нормальную функционалку, SPL и трейты с неймспейсами запилили — и то хлеб.

В первом предложении темы написано, что я уже ознакомился с JS. Там правила приведения логичны и понятны.

Выбора все равно нет. php самый востребованный среди веб ЯП в СНГ (зарубежом, наверное, тоже). Что печально.

Зато если таки освоить, можно свалить туда, куда свалил я. Тут он тоже довольно популярен )))

Выбора все равно нет.
Кандидата достойного в падаваны то слова.

Я хочу в более теплые края и ближе в океану/морю :)

Но смысл ясен

Я пока не целился конкретно куда-то. Сперва нужно стать востребованным специалистом.

Но хочется 20-30* среднюю t в году с небольшими отклонениями, поближе к океану/морю и норм медициной и соц составляющей. Вроде, Испания, Португалия попадают.

Канада, Англия немного печальны из-за климата. Не хочется туда надолго. Та и не резиновые они.

Есть пару книг по фреймворку Laravel (правда на буржуйском). Правда для этого надо таки знать основы ООП в пыхе)

А так я бы мог порекомендовать по пхп книжку Б.Уильямс, Д.Дэмстра, Х.Стэрн «Wordpress для профессионалов», Изд. Питер, 2014 г. (правда она тоже больше для людей более-менее знающих ПХП и знакомых с вордпрессом)

З.Ы. а так по основам PHP из русскоязычной литературы я бы наверное ничего б не посоветовал, ибо читал и пробовал изучать пару книжек русскоязычных авторов — не понравилось. Видимо во многом из-за этого (что многие авторы про ПХП пишут кривовато) многие и недолюбливают пхп. Плюс много пхп-кодеров, которые еще со времен пхп4 пишут пхп код вперемешку с html-ем (а некоторые книгописатели про пхп, примеры такого быдлокода приводят и в книжках). Отсюда и некоторая предвзятость относительно ПХП со стороны многих ТРУ-программистов.

Спасибо за книгу по WP, но надо хотя бы основы php знать.

По WP я только закончил читать Missing Manual 2nd ed. Скачал еще весь курс от Lynda.com, чтобы понять custom post type и таксономии, а также по редактированию тем. В книге об этом почти ничего нет.

а так по основам PHP из русскоязычной литературы я бы наверное ничего б не посоветовал
Я уже на инглиш перешел и заодно его подтянул. Они намного более свежие и как минимум на торрентах почти всегда в качестве ebook, а не в сканах. =)
Я уже на инглиш перешел и заодно его подтянул.

и это правильно)

Я еще и Соло на клавиатуре начал проходить. Не люблю я печатать, потому что медленно это делаюи смотрю на клавиатуру. А если начну на автомате это делать, то меньше усилий будет уходить на это и больше буду думать на решением задач :)

Я обычно когда хочу подыскать книгу по какой-то технологии — открываю Amazon и сортирую книги по Avg. Customer Review и выбираю что-нибудь из верха списка. По запросу PHP там вначале парочка не очень релевантных книг, но дальше идут уже ближе к теме. Посмотрите что юзеры пишут в своих ревью и выбирайте ту, которая больше всего понравится. Зандстра там один из первых кстати.

Я сам именно по чистому пыхпыху читал только уже упомянутого тут Зандстру плюс

Advanced PHP Programming by George Schlossnagle

Спасибо. Я обычно читаю отзывы на русскоязычных сайтах или торрентах. Наши все-таки более критичны чем вежливые иностранцы.

Вежливые иностранцы обычно на пару шагов впереди технологически.
Я бы рекомендовал ориентироваться именно на их опыт.
В ру нете куда больше плохих примеров, особенно на php.

Вот перевод учебника по symfony 2.
symfony.in.ua/...he-project.html

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

Напишіть хто-небудь книгу про те, як забути ПХП. Раз. Назавжди.

Тяжко коли не знав, та ще й забув.

Ринок не обманути — вакансій для PHP набагато більше. Свого часу теж планував на рельси перейти, але лише 8 чи 10 наявних вакансій, де треба були, мінімум, мідли, відлякували.

Вот рынок рубистов — jobs.dou.ua/...​иев&category=Ruby&exp=0-1
Наверное ещё и дерутся макбуками у входа на собеседование, за право пройти первым.

Від 2 до 5 відгуків за останні 3 місяці. Ви оце серйозно чи тупо завтикали?

Вы отморозили часть, отвечающую за распознавание сарказма, мистер Шелдон?

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

Даремно боялися). На практиці, роботу знайти не складніше, ніж для більш популярних мов, адже очевидно, що існує великий дефіцит рубістів.

Пропоную змиритися з тим, що роботи для рубістів в Україні катастрофічно мало. Якщо комусь вдалося заскочити в цей потяг, як, очевидно, і вам, то можу лише привітати.

Знавцям Perl теж платять багато, але їх чомусь з кожним роком все менше. З Ruby не все так погано, але щось схоже. Я зараз про Україну.

Змиритися? З чим змиритися? Роботи цілком досить, ruby 8-а за популярністю мова, це вже далеко не екзотика. А perl — майже мертва. Змиритися можна лише з тим, що php — найпопулярніша у веб, але то вже проблеми пхпшників.

то вже проблеми пхпшників.
Я ж не про те, який php хороший. Але ринок замість того, щоб завалити всіх вакансіями і кричати: «Пацани! Вчіть Ruby!», вирішує просто робити проекти на php. В силу певних обставин. Коли ця тенденція зміниться, к-сть рубістів піде вгору.

Мідли і сеньйори не беруться просто так, вони повинні спочатку бути джунами. А всім треба уже сформовані рубісти. Junior Ruby Developer — рідкість. І це факт. Вам — пощастило.
Я б і сам з радістю писав на рельсах.

P.S. То колись рельси були «круто, модно, молодьожно», зараз всі ці ніштяки по типу скафолдінга і т.д. є в будь-якому фреймворку і як засіб для швидкого прототипування рельси вже не виграють. Коли працював в конторі, де був «підрозділ» рельсовиків, то не помітив, що у них все робилося швидше, ніж у php-ків з +/- схожими проектами.

Так, звичайно, у PHP є своя ніша і переваги. На Заході Ruby є популярним серед різного роду стартапів, а у нас самі знаєте як з цією справою. Але в тому ж Харкові є кілька компаній, які набирають джунів, навіть, один стартап. У Києві їх значно більше. Коли я шукав роботу, то я знайшов близько 10 вакансій лише в Харкові (джунів, або з вимогами близькими до джунів), і цього виявилось цілком досить. Ось праворуч від коментарів висить блок «Вакансии для начинающих», і там одна вакансія на Ruby, дві — PHP. Тому навряд чи мені дуже пощастило, пощастити може кожному, хто дійсно прагне знайти роботу в цьому напрямку.

Ну і ще є такий стереотип, що якщо Ruby, то Rails. Але це теж не так :). Це мова загального призначення, а не лише чисто для веб.

На Заході Ruby є популярним серед різного роду стартапів, а у нас самі знаєте як з цією справою
На западе он тоже не так прям чтобы рвал рейтинги — gooroo.io/...81#.VMFmXy5BLDd
У Києві їх значно більше
www.work.ua/...jobs-kyiv-ruby — 9 вакансій. 8 треба з досвідом, 1 вакансія — junior/middle, що теж не зовсім підпадає під вибірку. (Київ)
jobs.dou.ua/...иев&search=ruby — ситуація аналогічна.
Давайте зійдемося на тому, що вам просто пощастило.
Це мова загального призначення, а не лише чисто для веб.
А мужики то і не знають. Особисто бачив як дівчат, які ще вчора з компами були на «ви», успішно вчили писати на Ruby автотести. Мова хороша і всяке таке, але все на, що здатні наші компанії, це взяти проект і шукати під нього Ruby Senior. Решта — приємні винятки з правил.

P.S. В цьому плані мені дуже імпонує черкаська компанія masterofcode. Не знаю як зараз, але 4 роки тому вони за власний рахунок перевчали вчорашніх «джумлістів», які і в php то не сильно шарили, на ruby. Побільше б таких.

Смотрю сентябрь выдался хорошим, 27 рубистов на одну вакансию.
Налицо дефицит же! Некогда втыкать, надо работу искать.

Я вообще не видел в своей области вакансий для джунов по другим языкам кроме php

правильно подметили.

утрировано причина в том что только на php есть маленькие проекты. требующие 1одной головы, и несколько пар рук.
а в сложный проект джуна не поставишь. даже в сложный на php, пишут — знание Zend Framework, PHPUnit, SQL, ООП, ...

Кстати, интересная аналитика рынка на оДеск — habrahabr.ru/post/248719

как раз выбирал начальные направления, читая прошлый такой отчет.

метод Курта подойдет?
и так заряжаешь дробовик 12 калибра пулей или картечью
снимаешь с предохранителя\взводишь
носок долой
ствол в рот в направлении макушки
пальцем ноги плавно тянешь спуск
...
PROFIT

Из-за данного комментария ДОУ дважды внесут в реестр) первый фиг поймешь за что, и второй, за данный рецепт)

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

видимо он хотел сказать java > php

хипстера
і
java
речі не сумісні
коли тут на форумі говорять по хіпстерів, то в більшості мають на увазі рубістів

:)

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

какой-то неправильный подход имхо)

Столько людей-профессионалов, говорят одно и тоже, что уже кажется глупым не прислушаться
какое вам дело до «советов миллиардеров» как заработать миллион?

из обсуждений мне показалось что вы вполне здраво оцениваете собственные возможности, интересы и пожелания к ЯП и его экосистеме.
Про джаву — вы правильно заметили. она как промышленное оборудование. а php — как бытовая техника. (хотя на php «пром оборудование» тоже есть)

на джаве легкий подход разработки реализован в фреймворке Tapestry5. Тот самый — изменил код, сохранил, F5 в браузере. без пересборки и редеплоя. но все равно, для его использования, придется изучать много больше, чем выплюнуть echo’ом нужный текст в браузер.

перспективы.
на php было и будет больше всего вакансий. В силу его достоинств(они же недостатки).
последние годы — php тусовка активно осваивает возможности php 5.4+, учится писать по новому, вернее — по правильному.
выпуск FB в мир HHVM с Hack’ом так же оживил деятельность разработчиков ядра. озаботились повышением эффективноси работы интерпретатора. ожидается в php 7 и JIT компиляция.

Вобщем, мой список «бессмертных» ЯП:
1. JS, PHP, Java, C
2. C#, Python, Ruby

повторюсь, мне из ваших постов показалось что вам нужно выбирать из:
PHP, Python, Ruby

ну и освоение JS — не обсуждается :)

повторюсь, мне из ваших постов показалось что вам нужно выбирать из:
PHP, Python, Ruby

Спасибо. Я примерно так и целюсь, учитывая то, что читал до начал изучения программирования. Хотя о Python, Ruby я мало что знаю, а вот с PHP когда-то работал. И понимаю его принцип работы.

Нужно было в техникуме диплом написать. В общем я сказал преподу, что самостоятельно по комп журналам (инета не было тогда) базово изучу php (нам его не преподавали) и написал простой сайт комп фирмы с базой данных на MS Access (MySQL преподы не знали), использовал TSV-файлы: прайс, гостевая и трехшаговый конфигуратор ПК, в котором все детали совместимы.

Да, я учился до 2007 года в колледже на программиста-экономиста, но у нас там преподы были студентами на пару курсов старше нас. Многие из преподов даже Word не умели использовать. А на защите диплома комиссия потребовала от меня показать установочный exe-шник сайта. В общем все было печально с преподаванием. :)

ну и освоение JS — не обсуждается :)
С него и начал.
Прочитал:
* Headfirst Javascript 2014
* Javascript. Подробное руководство 6 изд (Старовата. И не осилил прочитать только операции с файлами, браузерные приложения и вебсокеты)
* Eloquent JavaScript second edition
Посмотрел курс Специалиста (безтолковый) и «30 days to learn jQuery».

Мне очень понравилась «Программистам от программистов — Мерсер Д., Кент А., Новицки С. — PHP 5 для начинающих», все по теме, четко и доступно описано. Да, книга не новая, 2006г., но база есть база.

Cамый лучший способ выучить язык программирования на мой взгляд это «learning by doing». Котеров — можно почитать основы, но книга устарела, новые возможности php 5.4 — 5.5 не описаны, тем более через год выйдет php7. В сети очень много устаревшей информации, мой совет: выбираешь задачу к примеру простой CRUD для начала и пишешь, есть вопросы — google.com, stackoverflow.com, попутно штрудируешь www.phptherightway.com, php.net. По SQL выучи основной синтакс joinы, и т.д. для начала хватит(дальше больше). Javascript — я учил по developer.mozilla.org/.../Web/JavaScript еще очень хорошый ресурс javascript.ru.
Для начала этого хватит с головой, дальше идешь искать работу джуном.
Те кто дают тебе совет учить другой язык, не слушай, php развиваеться, за последние годы многое изменилось.

Cамый лучший способ выучить язык программирования на мой взгляд это «learning by doing».
реально прочитал комменты аж до сюда в поисках этого варианта.
just do it!
— «PHP 5 в подлиннике» Котеров 2008г.
Прочитал как «РНР 5 в поликлинике». Пора спать.

По теме рекомендую книжку «Язык программирования С++» (Бьерн Страуструп).

Котеров уже на 70 странице пишет на С в книге по php. :)

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

Читал статью, что в Америке в 80% ВУЗов первый язык преподавания — это Python. Возможно, потом и его попробую для выработки нормальной манеры написания кода.

Тогда джаву. Там работы много и платят сильно лучше чем за пхп.

мне php программист очень долго объяснял, что php круче для снг.
Часть доводов:
— все распространенные cms на нем;
— много заказов;
— более быстрый и менее требовательный. java нужно больше рам, потому что что-то типа она все функции в объектах хранит, которые висят в/занимают больше рам.
+ php проще для новичков и есть на любом хостинге.

Похоже Вы слушали человека, которому лень переучиваться с пхп.
Давайте еще я расскажу — в некоторых странах снг(не будем тыкать пальцами) курс доллара подскочил вдвое, а заказы все так же оплачиваются в национальной валюте.
Кто там что в чем хранит это нужно в дебри лезть и разбираться, да и какая разница, это же не рукой на бумажке записывать. Для новичков почти все одинаково дается. Плюсы или си сложнее пойдут, но я про них пошутил.
Здесь же есть зарплатные опросы — они ответят сухим языком цифр на все вопросы о языках. Раздел «работа» подтвердит.

П.С. прошу прощения, это все из-за моей не любви к пхп)

мне php программист очень долго объяснял, что php круче для снг
Если знаете английский, то постарайтесь забыть про снг как можно быстрее. При нормальном уровне энтузиазма и упорства, можно быстро вырости из джунов и свалить с местного рынка. Особенно, если захотите попробовать фриланс :) Про неадекватность и жадность местных заказчиков давно слагают легенды.

И если вдруг вы захотите уехать в далекие страны, то через N лет обнаружите, что из всех популярных языков, php востребован наименее. А там, где он востребован, будете иметь дело с bullshit’ом вроде wordpress или magento.

Хотя на икру и шлюх в тайланде зарабатывать можно без проблем и на пыхе :)

Английского у меня только пару классов из всех школ, которые я менял, но я читаю и смотрю курсы на инглише. Все понимаю без словаря. Спасибо за совет.

Особенно, если захотите попробовать фриланс :) Про неадекватность и жадность местных заказчиков давно слагают легенды.
Да, мне хватило их в дизайне. Одна мысль о работе уже вызывала расстройство, поэтому я и не брался за заказы. Чего только не натерпелся. Даже аудиторские фирмы-заказчики банковские платежки подделывали и слали фото.
И если вдруг вы захотите уехать в далекие страны, то через N лет обнаружите, что из всех популярных языков, php востребован наименее.
А что востребовано? Просто везде каждый хвалит свое болото: js (back+front), python (в америке язык № 1 для преподавания), ruby, java.

Дизайн у меня останется хобби, а на php я хочу просто в сферу программирования.

А там, где он востребован, будете иметь дело с bullshit’ом вроде wordpress или magento.
Черт. Я на них как раз и целюсь. Говорят, что Magento очень крут.

П.С. Сегодня скачал Соло на клавиатуре. Буду осваивать быструю печать и укреплять нервы. :D

12. PERL — $82,513
11. SQL — $85,511
10. Visual Basic — $85,962
9. C# - $89,074
8. R- $90,055
7. C — 90,134
6. JavaScript — $91,461
5. C++ - $93,502
4. JAVA — $94,908
3. Python — $100,717
2. Objective C — $108,225
1. Ruby on Rails — $109,460

www.businessinsider.com/...-salary-2014-11

Ничего не говорящий о востребованности листинг зарплат, вот есть соотношение востребованности к зарплатам + континентальная разбивка gooroo.io/...81#.VMABki5BLDc

Может быть, тут еще и кол-во специалистов оказывает влияние. Можно на Ассемблере писать и много зарабатывать, ЕСЛИ найти вакансию :)

А что востребовано? Просто везде каждый хвалит свое болото: js (back+front), python (в америке язык № 1 для преподавания), ruby, java.
JAVA, C++, C#

Но C++ вы в ближайшее время не выучите))) Хотя у нас тут за него прилично платят.
К Java можно добавить Scala, сейчас вакансий на Scala не очень много, то тенденция роста есть. Да и Scala просто приятней джавы. А самое главное — Java и Scala нужны и здесь и Там, да и платят лучше чем на PHP.

Если все эти языки кажутся сложными, можно взять Ruby или Python. Питонисты тоже часто нужны, в том же варгейминге например.

С++ то уже слишком. Там и за памятью надо следить, потому что мусорщик сам не удаляет объекты без живых линков. И это вообще прикладное программирование, а не веб.

Про scala почитаю. Не слышал никогда.

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

Спасибо за советы!

Чем дольше человек сидит на php, тем труднее соскочить на нормальный язык))

книги по java скучные. В консоли сидите и т д.

А в php книжках сразу результат в браузере виден и легко вся среда заводится.

С java все сложнее было (в книге не описывалось, как установить саму java) + надо компилировать в байткод, классы в отдельные файлы пихать и подключать — в общем нудота.

книги по java скучные. В консоли сидите и т д.
А в php книжках сразу результат в браузере
лол
я сподіваюсь, що це був жарт

ну книжка такая была. Мне совсем не понравилось.

Синтезаторы работали некорректно (не менялись инструменты. Долго пытался как-то это завести). Я полез на форум java и там сказали, что у них такие же баги, как те, что я нашел.

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

А как дошло до всяких диспетчеров компоновки GUI (писать кучу кода, чтобы просто добавить кнопку в нужное место на панель), то я вообще закрыл книгу и полтора года даже не думал о программировании.
до “бабульки” сходи, нехай яйцем відкачає

Ой, хлопче, не знаєш ти ще скільки ти просидиш в консолі з пхп, і скільки там нудоти.

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

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

посмотри еще, есть и django CMS, даже есть хостинги с поддержкой django

А джава зато кроссплатформенная и строготипизированная.

строготипизпция вроде же проще будет

Не знаю. Я еще не настолько хорошо разбираюсь.

Но с ней не покривокодишь: нельзя одной и той же переменной присваивать разные типы данных.
+ надо помнить какой у переменной тип при оперировании с ней: true=="1";// true не прокатит

Смотря с какой стороны смотреть. Проще в том плане, что сложнее допустить неочевидные ошибки, сложнее в том плане, что чтобы написать что-то сложнее хелловорда нужно больше изучать и больше кода писать.

Так если меньше изучать чтобы писать сложное что-то как раз и получаются не очевидные ошибки и байки про пхпистов.

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

Решено, перехожу на пхп! Писать можно сразу, за полдня потом разберусь, такие сроки обучения меня устраивают.

Надеюсь, что правила неявного приведения везде одинаковые как в js (разные типы приводятся к number) :)

Ха. Правила неявного приведения типов в php, это отдельная и особая магия.

Та, меня уже и строки удивили. \n работает только в «...» и при echo можно туда же прямо в строковый литерал лепить переменные без использования конкатенации.

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

Без подглядывания в мануал определите, что будет в результате:

if("0″ == 0 && 0 == «0adfslk») {
echo «TEST!»;
}

Я еще только на 90 странице и не дошел до этого.

Но если было бы как в js, то ничего бы не вывело.
первое условие дало бы тру, а второе фэлс из-за приведения строки к NaN — общее фэлс — выход из условного оператора.

Оба условия выполнятся))

почитаю книжку — разберусь. Может php парсит строку «0adfslk» в поиске вещественного числа в самом начале, а при встрече букв не 16-ричных прекращает поиск.

Может php парсит строку «0adfslk» в поиске вещественного числа в самом начале
Близко))) Только все зависит от того, с чем идет сравнение. Если бы там был не 0 (integer), а пустая строка, то php и сравнивал бы строку со строкой, и тогда условие не выполнялось бы.

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

Да причем здесь увольнение или кодревью.

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

При том, что ты используешь оператор сравнения без проверки типа (==), сравнивая при этом значения разных типов. Это не проблема языка, а непонимание как работает приведение типов и разницы сравнений с проверкой типа (===) и без (==).

Для альтернативно одаренных:

Это пример идиотского и контринтуитивного поведения языка.

Ох лол, для личностей с особым интуитивным чутьём, примеры сравнения с приведением типа в основных скриптовых языках:
Ruby:

if 0 == "0sdsd".to_i
        print "karamba!"
end
Интуитивненько
Perl:
if (0 == "0sdsd") {
        print "karamba!";
}
Интуитивненько
PHP:
if (0 == "0sdsd") {
        print "karamba!";
}
ИДИОТСКИЕ НИЗАПАМИНАИМЫЕ ПРАВИЛА!!!!111
ИДИОТСКИЕ НИЗАПАМИНАИМЫЕ ПРАВИЛА!!!!111
Забыл добавить «ололо, пыщщ пыщщщ, 1111».

Я нигде здесь не писал, что правила не запоминаемые. Помню их все наизусть, за 7 лет это дерьмо в мозге отпечаталось намертво. Однако, я уже за*бался писать, что так быть не должно. Но скриптописатели лучше запомнят 100500 правил и 1001 исключение из этих правил, чем признают, что дизайн их горячо любимого языка X ущербен по определению.

А особенно интуитивненько в пыхе работает порядок выполнения вложенных тернарных операторов. Вообще песня.

ИДИОТСКИЕ НИЗАПАМИНАИМЫЕ ПРАВИЛА!!!!111
Забыл добавить «ололо, пыщщ пыщщщ, 1111».

Я нигде здесь не писал, что правила не запоминаемые. Помню их все наизусть, за 7 лет это дерьмо в мозге отпечаталось намертво. Однако, я уже за*бался писать, что так быть не должно. Но скриптописатели лучше запомнят 100500 правил и 1001 исключение из этих правил, чем признают, что дизайн их горячо любимого языка X ущербен по определению.

А особенно интуитивненько в пыхе работает порядок выполнения вложенных тернарных операторов. Вообще песня.

Ох лол, для личностей с особым интуитивным чутьём
Все люди в той или иной мере обладают этим самым чутьем. И если язык программирования ведет себе не так, как представляется очевидным, это понижает показатель удобства использования. Конечно, можно кодить и на таком, можно даже на brainfuck писать работающие программы, но высокоуровневые языки были придуманы для упрощения программирования, а не усложнения. Между скриптовыми языками X и Y следует выбирать тот, который решая поставленные задачи, доставляет меньше проблем в обучении и ежедневном применении. А если учесть несовершенство человека, то язык в котором для нормальной работы надо помнить в 2-3 раза больше всякой х**ни, способствует повышеному кол-во багов в конечном продукте. PHP здесь признанный лидер.

А на каких языках проограммирования вы предпочитаете писать?

Парочка своих проектов у меня написаны на Scala. Сейчас пишу систему автопилота для малых БПЛА, там чистый C.

По работе доводится иметь дело с PHP, Python и Node.js (серверный js). И после 7 лет опыта работы с PHP, я стараюсь отговорить людей иметь с ним дело. Простота не просто затягивает, она еще и извращает так, что потом перейти на нормальный язык очень трудно.

там чистый C.
поговорим про контринтуитивность.
например, про undefined behavior в стандартах С++
например, про точки следования.
int x=0; x=x++; cout<<x;
может быть 0. может быть 1. с точки зрения стандарта, допустимо и «единороги блюют радугой». потому что undefined, а не unspecified. Пруфлинк для сомневающихся.
Интуитивно? Я так не думаю!

И к чему это было? Написание софта для беспилотников автоматически предполагает, что язык C — интуитивен,а вы пытаетесь это опровергнуть или что? Хотелось написать коментарий?

Мда, я уже дошел в певрой главе до mail($to, $subj, $msg, ’From: ’ . $email); , где доп заголовки склеивают в строки со вставками \r\n.

Жестоко. Я бы предпочел скормить этой функции объект с указанными свойствами

Ти ще нічого толком не вивчив, а вже претензії маєш.
Не забувай, що це мова програмування. І вона дозволяє на своїй основі будувати те, що буде робочим, гарним і зручним.

Те, що ти хочеш, називається «клас для роботи з електронною поштою». Той же самий PHPMailer

Вы в руби приведение типа случайно не заметили?
0 == "0sdsd" => false irb(main):002:0> 0 == "0sdsd".to_i => true
Вот поэтому со строгой динамической типизацией фигни натворить немного сложнее. В отличие от...

А Вы наверное в пхп коде не заметили приведения типа.
Аналог рубишного:

0 == "0sdsd".to_i # true
в пхп будет:
0 == "0sdsd" # true
а аналог рубишного:
0 == "0sdsd" # false
на пхп будет:
0 === "0sdsd" # false

Виноват, php не знаю. Получается, что оператор «==» приводит типы по каким-то определенным правилам, которые нужно помнить наизусть. Это конечно ничего страшного, и в JS такое есть. Но подход «this is string».to_i кажется гораздо более правильным и интуитивным. Интерпретатор ничего не выдумывает, мы сами говорим, какой тип нам нужен.

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

Это пример идиотского и контринтуитивного поведения языка.
Я уже на 90 страница чуть подофигеваю. В ’...’ работают только \’ и \\. Эпично. Хоть бы \n оставили.
Навыки PHP, C++, Python, JavaScript, HTML/CSS, Linux, Perl, UML, Ruby/Rails, SQL, C , Java
О.о
У вас что ли USB-порт в голове и вы туда терабайтами инфу вливаете? Как можно запомнить все отличия и хаки стольких технологий?

приведение типов в javascript , это вообще отдельная история.
и js опять таки тут показывает себя не с лучшей стороны)

главное понять правила игры. Только с различием undefined и null, вроде, проблема.

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

Проще говоря — запомни эти дебильные правила и будет тебе счастье. Но когда-нибудь тебя посетит мысль, что так не должно быть. Это будет, когда (и если) изучишь хоть один человеческий язык, а так же почитаешь про другие языки. Где-то тогда и появиться осознание, почему php не любят и презирают. И вот эта цитата — dou.ua/...c/12243/#625701 сразу станет понятна полностью.

Я то про JS писал. Там всего 3 правила. Я себе в конспект их выписал и ок :)

Однако, книга Котерова наиболее адекватная из русскоязычных материалов, хоть и местами устаревшая. Да и как вы собрались программировать на php, если вам вводный материал не хочется изучать?

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

и автор уже со старту до php грузит всяким в не самой удобоваримой форме.

Иначе будет +1 говнокодер, уж извините за прямоту :)

Я прочитал часть. Про хедеры, установку apache.

Но после фраз типа «Сейчас, в 2004 году, ...» мотивация читать такую книгу сильно падает.

Хотя я все равно буду несколько книг читать. Сперва для чайников, а потом подробную.

Там вполне нормально описано про MVC и шаблонизацию. Да и основы языка тоже, они ничуть не изменились.

книжку «Язык программирования С++» (Бьерн Страуструп).
Читал, Страуструп имеет редкостный талант сложно описывать простые вещи и хаотично перескакивать с темы на тему. Тот же Шилдт по качеству и последовательности подачи материала гораздо лучше будет.

А можете подсказать, какой локальный сервер лучше использовать, чтобы поменьше заморачиваться?

Денвер — неее. :)

OpenServer — в один прекрасный день он просто перестал запускаться без каких либо вмешательств с моей стороны. Очень удобно и легко в нем добавлять домены, но и много несовместимостей (тот же скайп) и багов.

WampServer работает стабильно, но я не могу обращаться к своим локальным сайтам напрямую: aliensabductedme.com не находит, а http://localhost/aliensabductedme.com/ работает.
Если добавляю в хостс 127.0.0.1 aliensabductedme.com, то просто переходит на домашнюю страницу WampServer

В сторону Vagrant’a и puphpet.com например смотрели?

Как я понял, это запуск виртуальной машины?

Почитал habrahabr.ru/post/212009

Наверное,я пока не дорос еще

Тогда не заморачивайтесь и используйте встроенный пхпшный сервер.

Я пока качаю всякие локальные серверы для виндовс. Ищу тот, который работает без проблем.

WAMP на первый же пример из книги ругается:
Warning: mail(): Failed to connect to mailserver at «localhost» port 25, verify your «SMTP» and «smtp_port» setting in php.ini or use ini_set() in P:\wamp\www\aliensabductedme.com\ch01\final\aliens\report.php on line 30
Порт правильно прописан.

OpenServer не запустился, потому что ему hosts недоступен на запись. Проверял — файл не рид онли.

В общем качаю xampp. :)

Ещё важно научиться гуглить ответы на вопросы lmgtfy.com/?q=openserver+hosts+not+writable
P.S. На виндовс нет серверов, которые работают без проблем, так как технология создана для других целей. Рано или поздно придётся пересаживаться на живую linux-систему, хотя бы в виртуалке. Лучше делать это сразу, есть преднастроенные варианты (см. vagrant).
Для быстрого же старта достаточно встроенного в ПХП вебсервера.

Ещё важно научиться гуглить ответы на вопросы lmgtfy.com/?q=openserver+hosts+not+writable
На прошлой неделе он работал. На ПК ничего не поменялось, а он перестал запускаться. Удалил, поставил заново — ошибка. В общем на ровном месте из ниоткуда.

спасибо за совет. В будущем перейду на виртуалку. Просто в начале хочется учить php, а не линукс, виртуалки и прочее.

На прошлой неделе он работал. На ПК ничего не поменялось, а он перестал запускаться. Удалил, поставил заново — ошибка. В общем на ровном месте из ниоткуда.
Там же по первой ссылке сказано, что запускать надо от админа. И упомянут FAQ по openserver, который стоило прочитать.
Просто в начале хочется учить php, а не линукс, виртуалки и прочее.
Для этого есть встроенный в пхп вебсервер.
Warning: mail(): Failed to connect to mailserver at «localhost» port 25, verify your «SMTP» and «smtp_port» setting in php.ini or use ini_set()
Очевидно, что mail-сервера у на локальном хосте у вас нет. В том же денвере эту проблему решали путем заглушки sendmail.exe, которая вызывалась как если бы пыха работала под *nix. И при работе под винду, таких проблем у вас будет все больше и больше.
OpenServer не запустился, потому что ему hosts недоступен на запись. Проверял — файл не рид онли.
Можливо антивірус блокує запис до hosts-файлу

Раньше openserver работал. Антивирус больше года не менял. Но попробую еще раз. спасибо

если вы используете Unix like ос , то проблем из настройкой не должно быть. Или же можете использовать XAMPP как кросс-платформенное решение (но я бы лучше сразу учился самому настраивать)
PS. Если вы на винде , то желательно освоить linux/unix и работу с терминалом ... потом может быть трудно

У меня стоит убунту лет 5 уже как вторая ОС, на случай падения окон (скачать диск с виндой и записать). Но за 5 лет виндовс не падал, поэтому я не вникал в детали.

Перед php решил почитать Ubuntu Unleashed 2014 Edition: Covering 13.10 and 14.04. Где-то на 25% книги (консольное кунфу) я ушел в винду :)

Ставил разные DE: gnome3, KDE, Xfce — вин 7 мне удобнее и роднее.

Где-то на 25% книги (консольное кунфу) я ушел в винду :)
А вам и не нужно сейчас консольное кунфу.
Вполне достаточно знать примерно 20 базовых команд и все:

ssh, ls, cd, mkdir, rm, touch, nano, grep, cat, man, ps, top, su, sudo, less, kill, killall, tar, unzip, wget

ну и специфичные для Debian/Ubuntu:

sudo apt-get install, sudo apt-get update, sudo apt-get upgrade, sudo apt-get remove

Совершенно достаточно, что бы поставить php под виртуалку с убунтой и работать в родном и нормальном для php окружении.

Спасибо. В будущем перейду на виртуалку и разберусь как к ней обращаться как к серверу. Максимум, что я делал, это только флешку к вирт машине подключал.

Правильно советуют. Но мне кажется с видеоуроков или курсов Специалиста подцепить инфы куда больше.

Спасибо за совет.

Я смотрел 2 уровня js от специалиста. Прототипы в JS он рассмотрел за пару минут. А вот BOM тянул, наверное, несколько часов + очень долго на чайников отвлекается (как скопировать файл и т д).

Хотя, возможно, некоторые моменты стоит и там посмотреть. Все-таки он разжевывает чуть ли не на колхозном языке )

Советую смотреть именно php по специалисту, JS мне не понравилось. По JS если какие то основы знаете то Д. Фленаган — Подробное руководство по Javascript 6-е издание.

Спасибо за совет. :)

Фленагана я прочитал как первую кингу по JS. Мой мозг чуть не помер. Сплошная теория. Месяца полтора осиливал через «немогу». (x_x)

Не за что. Советую прочитать Фленагана еще раз, материал укрепите. Да и кстати эта книга это реально для тех кто хочет знать по языку программирования все.

А М.Зандстру — это если вы хотите понять как работает и изучить ООП в PHP. Лучшая книга в своем роде. Да и цена не кусючая в отличие от Д. Фленагана

Староват фленаган уже. В его книге еще не пришел ES5 и IE9.

Хотя как справочник хороший.

Есть уже следующие издание, поищите

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

Я его прочитал до того, как на хабре перевели (они задеривались). Код из книги не набирал.

Только сложные главы с играми и социалками я вскольз читал. Сложноват для меня код.

А М.Зандстру — это если вы хотите понять как работает и изучить ООП в PHP. Лучшая книга в своем роде. Да и цена не кусючая в отличие от Д. Фленагана
Как я понял, ООП рулит в плане дальнейшего обслуживания и расширения кода. Хотя мало, кто его юзает из посредственных программеров

Я фленагана купил в books.ru на распродаже за 1 рос рубль (23 января опять она будет).

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

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

Есть вполне конкретные причины, такие как расширяемость, поддерживаемость, тестируемость, переиспользуемость, взаимозаменяемость и универсальность.
ООП решает все эти задачи? Нет.

Это не задачи, а качественные метрики реализации. И да, для ООП подхода они гораздо выше чем при процедурном подходе. Если для Вас нет, то Вы неправильно используете ООП и стоит уделить время углублению в тему.
Пожалуй, посоветую GoF для этих целей.

И да, для ООП подхода они гораздо выше чем при процедурном подходе
Это как обычно будут пустые дифирамбы ООП или подтверждения имеются?
Если для Вас нет, то Вы неправильно используете ООП и стоит уделить время углублению в тему.
Мы даже спорить не начали, а вы уже пытаетесь на личности переходить. Чувствуете, что аргументация заканчивается или как?
Пожалуй, посоветую GoF для этих целей.
Вам никогда не приходила в голову мысль, что если для правильного использования методологии необходимо дополнительно знать множество паттернов/антипаттернов и прочих best practices, то это показатель не сложности методологии, а ее банальной непродуманности и нежизнеспособности в оригинальном виде? Кодер, которому дали в руки ООП но забыли рассказать, как нельзя делать, совершит ошибок не меньше, а зачастую больше (потому что ооп много сложнее и больше вариантов сделать криво), чем если бы он писал в процедурном стиле.

Лол, спорить об ООП?
Не, тут так не принято, давай лучше сразу зарплатой меряться.

Нет, если меряться, то только стоимостью и кол-вом ежедневно поедаемого сыра. Нужно уважать местные традиции.

Лол, спорить об ООП?
А зачем писать в теме для новичка, что применение ООП улучшит
качественные метрики реализации
? В руках true-синьера улучшит (и то, лишь некоторые), в руках джуна на это будет страшно смотреть.

В книгах head first (2008-201Х), которые для чайника, везде пишут, что ооп — это тру и экономный путь, а процедурный подход — удел простых одноразовых вещей, которые потом не будут расширяться.

Ядро вашей операционной системы написано в процедурном стиле (и это не только винда). Это простое и одноразовое решение или как?
С драйверами аналогично.

Высокопроизводительный web-сервер nginx написан на C в процедурном стиле, это простое и одноразовое решение?
Балансировщик HAProxy, который используется во многих крупнейших web-сервисах вроде Twitter, GitHub, Amazon Web Services, тоже написан на C в процедурном стиле.

Все ОСРВ, использующиеся в разном железе, от самолета до ядерного реактора, тоже внезапно написаны в процедурном стиле. Это тоже одноразовые проекты, которые никто не расширяет и не поддерживает?

ООП часто применяется там, где надо посадить в open space 150 обезьянок и заставить их строчить код за еду.

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

Ну блин, так можно сказать что в конечном итоге все превращается в последовательность команд типа mov, push,pop, call, jmp и следовательно все парадигмы на самом деле процедурный стиль с разными фичами. Нет, ООП и классический процедурный стиль очень и очень различаются. Может быть вы хотели сказать, что это все — императивное программирование? Тогда можно согласиться :)

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

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

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

Буквально пару днів тому.
— Скинь всі ці функції в один клас.
— Для чого в клас? Це ж буде просто один клас з 20+ статичними методами і все.
— Так правильніше.

Отак і живемо(

В js все = объекты. Соответственно вы займете в global scope 20 имен переменных, которые могут вызвать конфликт. Если все засунуть в объект, то будет занята лишь 1 имя переменной. Профит и меньше забот.

Статичні класи не дружать з юніт тестами. Для того, про що ви говорите, придумали простір імен aka namespaces.

Статичні класи не дружать з юніт тестами.
Статические методы не имеют никаких проблем с юнит тестами, пока они просто возвращают значение и не хранят статическое состояние. Т.е. не имеют, так называемых side-effects (как вызов других статических методов).

Не дружать — я мав на увазі «мають деякі обмеження». В конкретному прикладі вони були.

Основна думка була в тому, що створювати клас, в якому буде 20 статичних методів«, це «ООП головного мозку» і «ООП заради ООП». Я не вітаю подібні підходи.

Тут объяснение простое. Представьте что у Вас есть 20 файлов, и все они лежат на рабочем столе. Вам удобно, Вы привыкли, а коллега если сядет за Ваш лептоп — будет в шоке.
Логично тут создать папочку, положить в неё все эти файлы, и назвать объединяющим именем. Т.е. это полезно только в качестве категоризации.

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

як я зрозумів, підхід у php: клас з статік методами, це не ради ООП, а для нарізання скоупу неймспейса, та гнучкого керування за допомогую autoloading.

якщо такий клас має side-effects то його слід розглядати як сінглтон. що теж може бути корисним, враховуючи модель виконання php

для ООП додали self.

я мав на увазі «мають деякі обмеження».
цікаво які. у джаві так, дуже незручно обкладати тестами статік методи.

а в php які з цим проблеми?

це не ради ООП, а для нарізання скоупу неймспейса,
Я вище писав, що для цього вже давно є неймспейси. Без кількох днів як 5 років. Просто раніше їх не було і мутили подібні фішки, зараз ще все прекрасно.

Так само і з autoload — всі нормальні продукти дотримуються або PSR-0 або PSR-4. Єдиного стандарта немає, але і так непогано, хоча і так ясно, що PSR-4 рано чи пізно переможе.

а в php які з цим проблеми?
Вік живи — вік учися. Виявляється вже давно ввели static замість self, все повинно працювати. Я відстав(
якщо такий клас має side-effects то його слід розглядати як сінглтон
Ну, знаєте, клас з методами виду «getAllActions, getAllVideos, getAllRules...» виглядає не дуже.
Я вище писав, що для цього вже давно є неймспейси
заради группування 5ти функцій — свій неймспейс?
Так само і з autoload
я мав на увазі
маємо більш одної реалізації класу, і за допомогою autoload загружаємо той що потрібен.

на джаві теж так можливо гратись з класлоадерами, але набагато складніше.

можливо такє витворяти з нейспейсами?

Ну, знаєте, клас з методами виду «getAllActions, getAllVideos, getAllRules...» виглядає не дуже.
як на мене — що функції, що методи об’єкту за такими назвами — виглядають не дуже.

я джавіст, і тільки нещодавна зацікавився php.

те що я почитав з php 5.4+ - приємно здивувало. те що побачив у реалізації тем для Wordpress — викликало огиду.

коли понишпорив по інету, і знайшов Framework Themosis та Pods Framework — знову побачив що на php можливо писати як слід.

заради группування 5ти функцій — свій неймспейс?
Ні, але це краще, ніж городити клас з купою виключно статичних методів.
можливо такє витворяти з нейспейсами?
Ні, то виключно для захисту іменування. Те, що ви кажете, то PSR-4
те що я почитав з php 5.4+ - приємно здивувало.
В останні 3-4 роки php набрав ходу. В новій версії обіцяють +30% швидкодії + багато нових штук.
те що побачив у реалізації тем для Wordpress
Ну, це залежно, що дивитися. Але згоден, 18-річні студенти «фрілансери» заробили гірку славу, в принципі, досить цікавій системі.
Framework Themosis та Pods Framework — знову побачив що на php можливо писати як слід.
Ви перший, хто оцінив. А то на мене тут час від часу кидаються за wp :-)
Ні, але це краще, ніж городити клас з купою виключно статичних методів.
не можу зрозуміти у чому проблема.

окремий неймспейс, чи клас

повторюсь, я спочатку теж здивувався, навіщо.
але чим частіше зустрічав, то зробив висновок що читати треба так
\ВеликийНеймспейс\МініНейспейс::якийсьМетод()

Ви перший, хто оцінив. А то на мене тут час від часу кидаються за wp :-)
не можу порівнювати. не пробував інші CMS. Тіпа Croogo (на базі CakePHP)

але, те що бачу — WP система стара, і для сумісності в неї підхід та API — «старого» php.

але якщо перекрити якимсь Themosis’ом — то й нехай буде всередені старий. До речі, я його не весь використовую, викусив собі тількі Action, Core, Facades та View. Бо він тягне дещо з Symphony, а в мене нема такіх потреб. роутінг WP мене влаштовує.
Додав ще BananaHTML та дещо зі Slim — і майже як на Groovy можна писати :) з плюсами PHP екосистеми

P.S.
а, ще що не сподоболось у WP — якийсь маруднуватий спосіб запуску легкої версії — SHORTINIT. але то такє. і на джава зустрічав ще кривіші рішення :)

если это класс Utils, почему бы и нет? такой себе, «почти-что-namespace»

Прочитал 180 страниц head first. Очень у них информация из теоретических разных разделов размазана, не структурирована и перемешана. Даже конспект не составить толком.

Последую вашему совету и начну смотреть курс специалиста.

спасибо.

А чому саме РНР? Ви читали щось про Ruby/Rails, Node.js, Python, ASP.NET? Сам свічнувся з РНР в Ruby, досить задоволений. З книжок можу порекомендувати книги видавництва O’Reilly не пізніше 2013 року, так як інформація швидко застаріває, особливо Web.

Как я понял, php в снг один из самых востребованных. На хабре была статья — php в топе (или № 1) по заказам на одеске. В моем городе вакансий на php для новичков тоже много. Точнее вакансий джунов по другим языкам вообще нет.

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

З книжок можу порекомендувати книги видавництва O’Reilly
Я только их книги стараюсь и качать. Но по отзывам:
PHP & MySQL: The Missing Manual, 2nd Edition — плохая пот отзывам
PHP Cookbook — это уже сборник рецептов для шарящих.
Learning PHP, MySQL & JavaScript — размыто обо всем

А остальные уже более узкоспециализированные

По руби много хороших отзывов, но надо же сперва с чего-то более распространенного начать.
Для чого витрачати час, якщо ви не збираєтесь використовувати цю технологію, хіба в якості хобі. Якщо прагнете працювати в РНР, то вчіть РНР, якщо в Ruby, то Ruby, навіть до навчання треба ставитись професіонально.

P.S. Did you search English O’Reilly books? Or Russian only? (Do you read English? :) Try «Programming PHP, 3rd Edition»

Стараюсь читать все на инглише. + они идут в ебук качестве, а переводные только сканы.

Хотя в Head First очень мелкие шрифты для планшета.

P.S. Благодаря летнему чтение англ книг по программированию сдал на магистратурах 3 раза английский на 4,75 из 5 без подготовки.

Спасибо за наводку на книгу. 500 страниц — аж непривычно мало :)

а в чем проблема с PHP?

Полностью статью не читал (еще не разбираюсь), но прочитал смешную цитату:

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

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

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

Берёте плоскогубцы, у которых нет зазубрин; они плоские и гладкие. Не так полезно, как могло бы быть, но ими всё ещё можно выкручивать болты.

И так далее. Все инструменты чем-то странные и вывернутые, но не настолько, чтобы быть совсем бесполезными. И во всём наборе нет конкретной проблемы; в нём есть все инструменты.

Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!». И плотники показывают вам, построенные ими дома с пятиугольными комнатами и крышей кверху ногами. Вы стучитесь в дверь, она просто падает внутрь и они орут на вас за то, что вы сломали их дверь.

Вот что не так с PHP.

Сам не могу судить о ее правдивости

А я знаю іншу аналогію — в руках новачка і найнебезпечніша зброя марна, а в руках професіонала і викрутка смертельна зброя. Тому не звертайте увагу на такі пости.
А по темі на php також є багато ништяків — composer, doctrine orm , laravel , так що вчити буде не сумно.

composer, doctrine orm , laravel
Спасибо. Я, честно говоря, эти слова увидел первый раз.

Припоминаю статью, читал когда-то. В мире пхп СЕЙЧАС есть много хороших инструментов (см. предыдущий ответ на этот комментарий). Но они есть ВОПРЕКИ языку и БЛАГОДАРЯ активному коммьюнити, которое из всего пхпшного треша умудрается делать удобные тулзы.

А что значит вопреки языку, но благодаря коммьюнити? Язык — это же не что-то, спущенное сверху. Коммьюнити сама создаёт и модернизирует язык, пилит под него тулзы. И чем больше движуха вокруг языка, тем быстрее происходит развитие.

ВОПРЕКИ языку и БЛАГОДАРЯ активному коммьюнити
к js это ещё в большей мере относится, и ничего, жив курилка и популярность растёт как на дрожжах.

Рост популярности JS наводит на мысли, что среди разработчиков очень распространен мазохизм :)

Наверное, у фронтэнд разработчиков выбора нет. Производители шлифуют интерпретаторы JS вместо создания чего-то нового (языка). А все это из-за огромного наследства в виде уже созданных сайтов.

Я в истории ЯП не силен. Но, вроде, в ES4 хотели все исправить или стандартизировать, но общество не поддержало.

Производители шлифуют интерпретаторы JS вместо создания чего-то нового (языка)
JavaFX, Flash, Silverlight. И где ваш пармезан? нет больше вашего пармезана ©
TypeScript, CoffeeScript. Go вон, вообще планировали(или даже включали какое-то время) ввести в Chrome. Как-то не задалось. Так и осталось на уровне препроцессионга. Но при желании использовать — никаких преград.

Ааааа, перепутал Go <—> Dart
Go — то к web’y никакого отношения не имеет

Скажу честно, мне эти слова ни очем не говорят. Кроме Flash. Там какая-то своя разновидность ecmascript под названием ActionScript

На кофе код короче, но не всегда понятный.
CoffeeScript:

say = (speech) ->
alert speech
say «Машина тютю!»

JavaScript:
var say = function(speech) {
alert(speech);
};
say("Машина тютю!");

На том же js сразу видны объявления переменных и т п.

Это значит, что нужно документацию по кофе прочитать. И все станет понятно.

Мне больше нравится понятный для всех код, чем экономия на скобках и прочем

Сам був в такій ситуації, коли вибрав РНР лише через те, що не знав про інші технології бекенду, тому таке і запитання

почему выбрали Ruby?(just curious)

За синтаксичний цукор та conventions в Rails :)

P.S. s.dou.ua/...dec-2014/salaries-ppr.png

Пока, примерно, я сложил такой план:

  1. уже начал «PHP 5 в подлиннике» Котеров 2008г (грузная устаревшая нудотина). Поэтому дочитываю про установки апача, мускула для пониманимая их работы и сбегаю с нее.
  2. далее Мориссон.М-Изучаем PHP и MySQL(Мировой компьютерный бестселлер) 2010. В этой серии книг разжевывают основы в картинках с собачками и т д. Пройдусь по ней быстро и законспектирую в evernote.
  3. потом основной упор на Addison-Wesley Professional — PHP and MySQL Web Development 4th Edition (2008)
  4. и после всего Matt Zandstra / Мэтт Зандстра — PHP Objects, Patterns, and Practice / PHP. Объекты, шаблоны и методики программирования PHP.

Ну и ближе к концу уже начну искать работу стажером. Видел вакансии с «Наличие хотя бы базвых знаний языка». а я уже больше буду знать

По фреймворкам еще не знаю, что выбрать. Каждый свое хвалит: ZF2, Yii2, Symfony

Не советую начинать изучения с Symfony 2 или ZF2.
Это advanced level фреймворки где нужно понимание определённых вещей ООП.
С Yii2 дела не имел но вроде он проще, хотя там все теже моменты есть. Поэтому первое что нужно — знание базовых понятий в ООП.
В свое время был очень хороший фреймворк для изучения CodeIgniter. Но сейчас он морально устарел.
Если конкретно по языку — старые книги смотреть вообще нету смысла, сразу смотри на версию языка не ниже 5.3-5.4.

Смотреть в сторону «программирования» на Джумлах, Друпалах, Вордпрессах и т.д. не советую. Во многом из-за этого у пыхи и такая репутация.

Спасибо за советы.

Об ООП я базовые понятия имею. Все-таки js, jquery читал. Хотя там и прототипное. А года 2 назад параллельно с дизайном читал книгу head First по Java, но на 60-70% забил.

Поэтому первое что нужно — знание базовых понятий в ООП.
100% согласен. Поэтому я сперва прочитал пару книг по JS, а только потом смотрел видео по jQuery.
Смотреть в сторону «программирования» на Джумлах, Друпалах, Вордпрессах и т.д. не советую. Во многом из-за этого у пыхи и такая репутация.
Мне как раз нужно перенести старый сайт (5 лет назад делал) с Joomla 2.5 на WP, но сохранить ссылки и большую часть функционала. :)

Я как открыл код WP, то мне его код было как-то даже неприятно читать. (while(...) {...} endwhile; отличается от JS). Решил понять php и потом уже переносить.

У JS не самая лучшая модель ООП ;) , например джон резиг (создатель джейквери) позиционирует и рекомендует относиться к js как к языку больше функциональному чем оо и использовать преимущества функций высшего порядка. . .
Опыт в Java или C # здесь был бы более уместен) . А что касается фреймворка , то с этим я б не спешил пока не почувствуете себя комфортно в языке , лучше поучить сначало библиотеки и штуки типа composer doctrine и паттерн activerecords , mvc по тому как это все используется в фулл стековых фреймворках как симфони , ларавер и тд. Или же посмотреть в сторону микрофреймворков. А также старайтесь придерживаться лучших практик уже вначале пути обучения, потом может быть трудно отвыкнуть. Успехов вам и не ограничивайтесь одним лишь php в дальнейшем ;)

использовать преимущества функций высшего порядка. . .
То есть функции библиотек?

Про джаву я когда-то читал Head First. Знаю, что такое типы данных, классы, интерфейсы.

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

спасибо за разъяснение. Сегодня прочитал англ статью, где в комментах сказали, что за кривым js будущее: просто выгодно иметь в комманде бек- и фронтэндов, которые в случае чего могут немного подменить друг друга + в барузерах нет конкурентов.

Мориссон это правильно. После нее можна почитать книгу не помню автора не помню названия но там mysql, php, javascript, css в ней немного глубже знания, немного другие техники и в ней же есть ajax. После нее я читаю professional codeigniter. ZF2 и Yii2 — я не нашел нормальных книг, те туториалы что на ютьюбе показывают обычно или базовый конфиг или одну — две страницы. professional codeigniter — показывает полный цикл построения сайта на MVC модели. Matt Zandstra / Мэтт Зандстра — PHP Objects, Patterns, and Practice / PHP — вот эту читал, там дофига примеров кода но где применить в реальных проектах я так и не нашел, поэтому забил пока на нее.

Советую начать с простых фреймворков, у которых порог вхождения намного меньше чем у выше упомянутых, к примеру Kohana 3, потом легче будет. Проекты на симфони и зенде пишутся только в крупных компаниях в основном.

Последние пару лет рассматривать фреймворк без неймспейсов, psr стандартов смысла не имеет.
Хватит жить прошлым )
Смотри на yii2 или laravel из простых, symfony2 из сложных.
На всё остальное тратить время не вижу смысла (даже на zend2, ну не взлетел он особо).

спасибо за совет. Про laravel даже не слышал никогда.

А между тем, это самый популярный php-репозиторий на githab’е
github.com/...sitories&utf8=

:)

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

По фреймворкам еще не знаю, что выбрать. Каждый свое хвалит: ZF2, Yii2, Symfony
для быстрого вхождения, с быстрым получением результата, выбирайте с так называемых мини фреймворков.
для гугла
top mini php frameworks 2014

Раю PHP Study Guide на Zend’аўскім сайце

старые книги по PHP читать не надо — PHP за последние годы неплохо прибавил в функциональности.
+1 к уже ниже упомянутому www.phptherightway.com
Параллельно с PHP можно сразу учить какой-то его фреймворк (например symfony). У него неплохая документация и оттуда сразу можно подчерпнуть некоторые паттерны
Сами же ООП паттерны лучше читать отдельно, без привязки к языку. Например вот эту — martinfowler.com/books/eaa.html ( на русский она переведена ).

Спасибо!
Книжку выбрал Addison-Wesley Professional — PHP and MySQL Web Development 4th Edition (2008)

Из Котерова читаю только теорию работы сети, установка апачей и прочего.

Тут знайдеш список книг, зокрема і для php: dou.ua/...gramming-books

Спасибо. Но php там предлагают учить по PHP5 для чайников 2005 длиной в 320 страниц. Маловато как-то :)

Я за Зандстру, он крут, но эту книгу лучше курить когда ты уже успел набить синяков в своих проектах, потому что ленился писать документацию, модульные тесты, а изучение паттернов постоянно откладывал на потом ;)

Из ресурсов мне нравится laracasts.com, он платный, но можно качнуть на торрентах, и там большинство материала по фреймворку Laravel, но есть и базовые серии по ООП, принципам, паттернам или регулярным выражениям.

И еще теперь я думаю, что нужно как можно раньше приучить себя читать оф. документацию по языку.

Желаю удачи в изучении!

Спасибо.

Я за Зандстру, он крут, но эту книгу лучше курить когда ты
Я открыл ее, увидел, что там только ООП, и понял, что ее надо читать после книг по базовому php.

Достаточно неплохая книжка для начинающих
“Head First PHP & MySQL”
By Lynn Beighley, Michael Morrison
Publisher: O’Reilly Media
shop.oreilly.com/...780596006303.do

Спасибо. Но Head First очень поверхностные. Я читал по JS, а потом подробное руководство по JS. Небо и земля.

Хотя объяснение прототипного наследования на роботах, кошках и собаках очень помогло!

Возможно, дествительно стоит начать с такого, а не толмудов :)

Відповідав на подібне питання тут: dou.ua/...ums/topic/5941

PHP Objects, Patterns, and Practice — крута книжка, однак вона зовсім не для початкового рівня — залиште її на потім. На сьогодні я ще окремо виділив би www.phptherightway.com — це не підручник, а огляд актуальних практик в сучасному PHP. В інтернеті є величезна кількість безнадійно застарілих матеріалів, тож знайомство з цим проектом допоможе розібратися що є актуальним сьогодні.

Взагалі, раджу не обмежуватися однією книжкою, додатково варто читати мануал, різноманітні статті, проглядати код невеликих php-проектів на гітхабі. Багото цікавих матеріалів є тут: www.sitepoint.com/php і ще подивіться на цей проект: phpmentoring.org

Ну і додам, PHP не така вже й погана технологія ( fabien.potencier.org/...-than-you-think ). Важливо не обмежуватися одним лише PHP, а з часом знайомитися і з іншими мовами.

Спасибо за ссылку на статью Фабьена. Интересно, нет ли чего аналогичного, но посвежее?

На жаль зараз нічого не згадаю. На моїй пам’яті було 2 епічні хвилі обговорення PHP, які породили купу цікавих статей з обох боків: eev.ee/...-of-bad-design, відповіддю на яку і стала ця стаття Фаб’єна, та software-gunslinger.tumblr.com/...is-meant-to-die. Думаю, подібні дискусії будуть виникати регулярно :)

Спасибо.

Я по js много книг прочитал, но реально ничего особо не писал. Наверное, просто неинтересно работать на стороне клиента без участия сервера и бд.

По php нету адекватных книг up to date, но из-за легкости языка, его легко можно изучить по туториалам.
code.tutsplus.com/...ies/php/courses
phpacademy.org
www.phptherightway.com
code.tutsplus.com/...-php—net-22287
laracasts.com/...mmended-reading
Мой скромный совет посмотреть на node.js. Перспективы на рынку труда больше чем в php и нету вакансий типа Drupal/ wordpress developer

Еще наткнулся на Addison-Wesley Professional — PHP and MySQL Web Development 4th Edition (2008)

Ну лично я выучил по книжке Каhманный справочник по ПХП www.williamspublishing.com/...459-1866-6.html
Он действительно в карман помещался, читал в маршрутке, но вполне отличная книга.
Правда у меня до этого уже был бэкграунд в программировании и ХТМЛ, но думаю и для новичков это будет самое то

programming-motherfucker.com — методология изучения абсолютно любого языка;
Уяснить, что для вопросов есть SO (google it), где скорее всего уже есть ответ
www.codecademy.com/en/tracks/php
github.com/...e-php#php-books

методология изучения абсолютно любого языка;
Так там нету «методологии». Просто ссылки на оф мануалы и примеры. Или типа это и есть «метода» ? :)

Это был тонкий намек, что следует не книги читать, а писать код (на том же codecademy полностью пройти весь курс). Лишь потом следует начинать читать простенькую книгу, в которой научно-популярно обьясняется то, что человек делал на codecademy. И так повторять по нарастающей сложности.

Ну не совсем тонкий :)) Глянул codecademy — крутой сайт, только языков маловато. :(

Я как-то начинал на codeacademy HTML. Очень просто и неинтересно. Не думаю, что они охватывают все нюансы

Огромный плюс Codecademy в том, что они сразу заставляют писать код, без какой либо подготовки. Это очень важно (см. п. 1), поскольку автоматически убирает вопрос "Сколько книг я должен прочитать, чтобы начать писать код. Программистом лишь по книгам не стать.

C этим не поспоришь.

Надо еще научиться быстро печать. А то почти двухпалый. В дизайне много печатать не приходилось :)

Підписатись на коментарі