Модификатор кода Воспламенитель - PullRequest
1 голос
/ 26 июля 2011

Я занимаюсь разработкой коммерческого приложения с использованием PHP.Поскольку у меня есть опыт работы с CodeIgniter, и он хорошо работает для меня, я решил использовать его.Теперь, если когда-либо мое приложение доходит до того, что оно должно расти и требовать пользовательских модификаций в платформе, возможно ли изменить исходный код CodeIgniter до уровня, который далек от оригинала?

Ответы [ 5 ]

4 голосов
/ 26 июля 2011

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

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

Руководство пользователя codeigniter содержит фантастическую информацию об этом, http://codeigniter.com/user_guide/general/creating_libraries.html

Удачи.

1 голос
/ 26 июля 2011

Не изменяйте его, расширяйте его . Ellislab хорош в выпуске исправлений ошибок и исправлений , и последнее, что вам нужно, - это перепроектировать все обновления в ваш новый гибрид каждый раз, когда они выпускают обновленный исходный код. Кроме того, различные функции и исправления ошибок выпускаются с разной скоростью для core и реактора , поэтому, если вы не планируете блокировать свою инфраструктуру в текущей версии, расширение - это путь ,

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

0 голосов
/ 26 июля 2011

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

Чтобы расширить базовый класс по умолчанию, вы должны сделать это в Codeigniter. Мы расширим класс анализатора для этого примера, но это в значительной степени относится ко всем классам. Эта ссылка в подробном руководстве пользователя предоставит вам всю информацию, необходимую для расширения и перегрузки методов внутри базового класса Codeigniter: http://codeigniter.com/user_guide/general/core_classes.html

0 голосов
/ 26 июля 2011

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

Помимо всего этого, сам вопрос вызывает опасения, что, возможно, вам следует изучить CI немного дальше, прежде чем писать коммерческие приложения, использующие его. Ci - это мощный и очень простой в использовании PHP-фреймворк, но это не WYSIWYG. На мой взгляд, кодер должен знать свои инструменты внутри и снаружи, чтобы иметь возможность создать надежное и надежное приложение. Первой мерой является чтение руководства пользователя, вы должны знать, по крайней мере, все в нем, и поскольку в нем 12 разделов, которые охватывают все, от расширения библиотек CI до создания ваших собственных библиотек, и все, что между скажем, вам нужно потратить немного больше времени на это.

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

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

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

  1. начинает падать
  2. взломанный для раскрытия конфиденциальных данных клиента / клиента
  3. обычно рушится по всему Интернету

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

Так что мой совет вам, пожалуйста, найдите время, чтобы узнать ваши инструменты внутри и снаружи, что делает их галочкой, если у них есть какие-то ошибки и где они уязвимы. Я понимаю, что для того, чтобы выучить язык на профессиональном уровне, вы должны развивать его, поэтому я советую вам пока не торопиться, пока CI придерживается основной темы. Поверьте мне, когда я говорю, что даже в чистом виде CI является удивительным и мощным инструментом, который в правильных руках может создать потрясающее мощное веб-приложение, но в необразованных / неопытных руках оно может создать хаос и разрушение.

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

Я искренне желаю вам удачи, просто помедленнее и изучайте свою торговлю, и у вас все будет хорошо.

0 голосов
/ 26 июля 2011

CodeIgniter написан на PHP.Вы можете полностью переписать фреймворк так, как вам нравится.Таким образом, ответ «да».

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

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

Только мои 2 цента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...