Мэтт Зандстра — это срыв мозга, примеры убивают своей заумностью и сложностью.
Гутманс и ко — так же мура полная, разве что в качестве первой.
По php надо прочитать две книги — первая и шлосснейгла, после этого стоит перебираться на нормальные книги не привязанные к php. (по php я прочёл чуть меньше двух десятков книг, всё остальное — шлак)
для получения опыта работы на новом языке стоит на гитхабе форкнуть проект и попытаться развивать его и пробовать протолкнуть патч. как правило разрабы подскажут что ты делаешь не так, а когда таки примут пару патчей, то и с поиском работы проблем не будет, опыт будет.
это даже не dbal, а паттерн builder, в данном контексте query builder, он не болько помогает обстагироваться от типа стораджа, но и собирать запрос по частям, например, с учётом if-оф и переданных параметров.
кстати. типичная ошибка — применения билдеров в контроллерах, а не в отдельном-классе модели.
2 pihel
это будет ORM, если ты сможешь динамически доставать ти изменять связанные данные, например, категория товаров.
это всё цветочки, ягодки начинаются когда используешь template (этакие плагины) и сразу получаешь i18n, versionable…
После такого остальные проекты даже язык не поворачивается назвать ORM.
фишка же вашего подхода в том, что фиолетово какую базу вы будете использовать, конечный пользователь разницы не почувствует. а внутри вы всё поменять сможете в любой момент, хоть mysql, хоть postgre, хоть noSql, хоть из облочных хранилищ таскать. Кстати, облаки тоже хорошая идея при условии, что вы у себя организуете кэширование. вам не придётся заниматься тяжёлыми запросами и хранением больших объёмов данных.
Совет здесь только один — на первом этапе делайте на том, что лучше знаете.
не в файле, а в памяти — это миф. файловая система практически так и делает и быстрее, чем дёргать сервер мемкэша
про чтение вы правильно сказали, readfile напрямую читает и отдаёт в буфер вывода.
только это всё левая оптимизация, ниже напишу почему
php, я же здесь не ради потешить ЧСВ пишу, просто много раз видели, много раз проходили, все угрожали вернуться, но за последних года 4-ре ни один не возвращался ни со щитом, ни на щите.
поберегите СВОЁ время и усилия, не стремитесь быть и человеком, и пароходом. У меня два стартапа лежат под скатертью в разной степенью готовности, но за основной работой на них времени не хватает, а личной жизнь жертвовать — последнее дело
знаю таких «знаю». у вас даже здесь знание php в этой ветке меняется от
>>уже прочитал 30% важных частей мануала по _PHP_
до >>«linux + apache + mysql + _php_ + nginx + html» знаю давным давно прекрасно, кроме nginx
не говоря уже о том, что синтаксис — это лишь маленькая толика необходимого по программированию, у таких «чуть-чуть беременных» возникают пробелы ещё в школьном курсе информатики, сортировки массивов, работы со строками и т.д.
а услуги предлагать недопрагроммисту-недостартаперу — извольте, прямая дорога на clientsfromhell
очередная порция бреда. при чём здесь сис админы. задача программиста не писать свой фреймворк или cms, задача как раз на основании опыта знать о ГОТОВЫХ решениях, их плюсах и минусах. кустомные решения для проектов, которые более чем на 20-30% отличаются от требований тз.
>>Для веб-бизнеса пограммирование безусловно важно, совершено глупо это отрицать. Но намного более >> важно привлечения аудитории, привлечения финансирования и т.д.
угу, то о чём я писал выше, нормальный стартапер, чьё время стоит денег, потратит его на поиск финансирования и аудитории, а не на изучение: linux + apache + mysql + php + nginx + html + css + js + фреймворки и cms + алгоритмизация + паттерны + безопасность + методологию разработки (agile, xp, waterfall, TDD, фиксация багов, SVN) + IDE для более удобной разработки +…
Кстати, в OpenCart ниразу не MVC, sql запросы начинают фигачиться напрмую в index.php, дальше, есть правда и контроллеры, и даже модели. К контроллере методы на 400-500 строк, автокомплит не работает из-за "$this->load->model('catalog/category');", экранирование данных и переводы надписей делаются почему в контроллере. хотя это логика отображения… И, кстати, MVC это не web паттерн, поэтому его в php нигде как такового и нету, только подобия, потому что переносит один в один с декстопа смыла не имеет.
если вы оставите машину на улице, я её возьму в личное пользование, но на стекле напишу, что взял её у вас — это нормально.
ах, текст это не материальная ценность, тогда я вам компенсирую стоимость ферpари из которого она сделана без учёта стоимости интеллектуальных вложений и труда людей и вложенных в завод денег. получится дешевле запорожца.
phped не на джава, но она не так популярна, насколько я помню, она отставала по функционалу. кстати, я ещё не разу не работал с человеком использующим данную IDE
студия — на java, причём даже основывается на бесплатной eclipse
а медлительность менюшки — это не проблема java, типо фича, до сих пор многие делаю задержку в 400мс при открытии. меня эти задержки в линуксе раньше бесили.
очень голословное утверждение.
да, есть объективные причины почему проект на с++ может быть быстрее java.
но есть объективные показатели, что все IDE с богатым функционалом пишутся на java, исключений очень мало, либо они значительно уступают по функционалу.
lynx значительно быстрее, чем firefox и даже chrome. и чо?
вот только MyISAM стоит использовать в случае FULL TEXT, а для остального InnoDB предпочтительнее, он даёт транзакции, внешние ключи и главное блокировку на уровне строки, а не всей таблицы.
taliban, вот, вы правы, если использовать filter chain, то можно $input, $output, $error передовать между фильтрами инъекцией в конструктор безо всяких реестров и одиночек.
эм, при хранении сессий по месяцу не многовато ли файлов соберётся в директории с сессиями?
должно дико тормозить при нормальной посещаемости.
Преимущества которое вы описали как бы нет. Никто не мешает повесить на деструктор повесить запись сериализованных данных в базу, а в конструкторе востонавливать на основании юзер ид или сессион ид.
попропуй лучше pecl.php.net/package/uploadprogress
судя по коду расширения, там есть переменная в конфиге uploadprogress.get_contents, нужно выставить в true.