Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Zend и Pear для нуба (https://javascript.ru/forum/server/13692-zend-i-pear-dlya-nuba.html)

mycoding 09.12.2010 14:46

Zend и Pear для нуба
 
Подскажите пожалуйста.
Как вообще поставить Zend и Pear на хостинг и на Денвер.
Дело в том, что предлагают установочные программы, а
нужно то всего навсего разместить куда то в папку и всё и на хостинге
я же не могу запустить exe файл.
Уже неделю пробую и до этого несколько раз пробовал, каждый раз проблема с установкой.

Gozar 09.12.2010 16:18

удалено.

mycoding 09.12.2010 17:20

Да я готов заплатить.
Мне бы только начать кодить на этом.

Спасибо за ссылку сейчас читаю.

mycoding 09.12.2010 17:28

Что то я вообще не пойму.
Zend и pear - это framework-и?

Framework в моём понимании - это то, что можно подключить через
директиву require_once и использовать классы.

Может я не правильно понимаю слово framework?
Можете подскажать, что-нибудь нормальное, чтобы подключил и пользуешься? Мне друг советую codeingniter но в проектах постоянно нужен zend у работодателей.

Kolyaj 09.12.2010 17:47

Английским по белому же всё написано
Цитата:

Alternately, you can » Download the latest version of Zend Framework and extract the contents; make a note of where you have done so.

Optionally, you can add the path to the library/ subdirectory of the archive to your php.ini's include_path setting.

That's it! Zend Framework is now installed and ready to use.

mycoding 09.12.2010 17:59

Я читал доку, только вот что из этого надо качать
http://framework.zend.com/download/latest
И куда ставить.
Извините за нубьё.

Kolyaj 09.12.2010 18:06

Ну скачай всё, там посмотришь.

mycoding 10.12.2010 09:08

Вот, что мне ответили на хостинге.
Цитата:

06:09:48 Пожалуйста, подождите немного, к Вам присоединится оператор..
06:09:55 Оператор Николай Бондаренко включился в разговор
06:09:58 Николай Бондаренко: Здравствуйте! Чем я могу Вам помочь?
06:10:13 Посетитель: Скажите, пожалуйста, а pear на хостинге можно установить?
06:10:32 Николай Бондаренко: Да.
06:11:21 Посетитель: И установлен ли Zend или его надо самому подключать? Можете пожалуйста дать ссылку про pear как у Вас он установлен и что-то вроде hello world для него на Вашем хостинге?
06:12:17 Николай Бондаренко: Пример какой установлен Zend http://kepler.timeweb.ru/phpinfo.php
06:13:28 Николай Бондаренко: Установка pear через go-pear.php
Можете пожалуйста расшифровать?

Мне бы только один пример с ZEND и pear запустить.
А дальше я сам буду.

Gozar 10.12.2010 09:18

удалено.

Gozar 10.12.2010 09:22

удалено.

mycoding 10.12.2010 09:34

Цитата:

Сообщение от Gozar (Сообщение 83132)
mycoding,
Про zend помочь не могу, никогда не заморачивался и не собираюсь.

А почему не собираетесь, на то есть причины?

Цитата:

Сообщение от Gozar (Сообщение 83133)
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0
здесь по моему все ясно, zend установлен, можно работать

Да написано то да, но самое сложное это сделать начать использовать.

Gozar 10.12.2010 10:02

удалено.

Kolyaj 10.12.2010 10:06

Цитата:

Сообщение от Gozar
ps: да, я также не понимаю тех, кто пытается использовать node.js, по крайней мере пока не понимаю.

А тут что не так? :)

mycoding 10.12.2010 10:08

Да мне тоже не нравится все эти серверные прибамбасы.
И вообще структура вроде такой.
Цитата:

<?php
/*
|---------------------------------------------------------------
| PHP ERROR REPORTING LEVEL
|---------------------------------------------------------------
|
| By default CI runs with error reporting set to ALL. For security
| reasons you are encouraged to change this when your site goes live.
| For more info visit: http://www.php.net/error_reporting
|
*/
error_reporting(E_ALL);

/*
|---------------------------------------------------------------
| SYSTEM FOLDER NAME
|---------------------------------------------------------------
|
| This variable must contain the name of your "system" folder.
| Include the path if the folder is not in the same directory
| as this file.
|
| NO TRAILING SLASH!
|
*/
$system_folder = "ci";

/*
|---------------------------------------------------------------
| APPLICATION FOLDER NAME
|---------------------------------------------------------------
|
| If you want this front controller to use a different "application"
| folder then the default one you can set its name here. The folder
| can also be renamed or relocated anywhere on your server.
| For more info please see the user guide:
| http://codeigniter.com/user_guide/ge...ging_apps.html
|
|
| NO TRAILING SLASH!
|
*/
$application_folder = "application";

/*
|================================================= ==============
| END OF USER CONFIGURABLE SETTINGS
|================================================= ==============
*/


/*
|---------------------------------------------------------------
| SET THE SERVER PATH
|---------------------------------------------------------------
|
| Let's attempt to determine the full-server path to the "system"
| folder in order to reduce the possibility of path problems.
| Note: We only attempt this if the user hasn't specified a
| full server path.
|
*/
if (strpos($system_folder, '/') === FALSE)
{
if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
{
$system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
}
}
else
{
// Swap directory separators to Unix style for consistency
$system_folder = str_replace("\\", "/", $system_folder);
}

/*
|---------------------------------------------------------------
| DEFINE APPLICATION CONSTANTS
|---------------------------------------------------------------
|
| EXT - The file extension. Typically ".php"
| SELF - The name of THIS file (typically "index.php")
| FCPATH - The full server path to THIS file
| BASEPATH - The full server path to the "system" folder
| APPPATH - The full server path to the "application" folder
|
*/
define('EXT', '.php');
define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
define('FCPATH', str_replace(SELF, '', __FILE__));
define('BASEPATH', $system_folder.'/');

if (is_dir($application_folder))
{
define('APPPATH', $application_folder.'/');
}
else
{
if ($application_folder == '')
{
$application_folder = 'application';
}

define('APPPATH', BASEPATH.$application_folder.'/');
}

/*
|---------------------------------------------------------------
| LOAD THE FRONT CONTROLLER
|---------------------------------------------------------------
|
| And away we go...
|
*/
require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;

/* End of file index.php */
/* Location: ./index.php */
Но, всё таки писать классы на стороне сервера для задач, это штука классная. Я попробовал на днях, мне понравилось.
Поэтому ищу уже реализованные классы.
Например FPDF вроде хороший.
У zend тоже есть класс для работы с pdf.

Gozar 10.12.2010 10:14

удалено.

Gozar 10.12.2010 10:20

удалено.

Kolyaj 10.12.2010 10:24

Цитата:

Сообщение от Gozar
я не говорил, что тут что-то не так, я сказал что не понимаю почему нужно использовать node.js

Ну я, например, после того, как стал писать на JS, на PHP уже писать не мог. Сейчас свои проектики пишу/переписываю на NodeJS. Тем более он реально удобнее... для меня, по крайней мере.

Gozar 10.12.2010 10:28

удалено.

Gozar 10.12.2010 10:31

удалено.

Kolyaj 10.12.2010 11:22

Цитата:

Сообщение от Gozar
Я много писал на php, поэтому для меня нет проблемы писать на нем

Проблемы-то у меня тоже нет, мне это просто удовольствия не доставляет. А я не люблю делать то, что не доставляет удовольствия :)

Цитата:

Сообщение от Gozar
Как насчет скорости?

Ну по тестам V8 всех рвёт. В реальной жизни не знаю, у меня высоконагруженных проектов нет.

mycoding 10.12.2010 12:23

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

А вообще ставится это всё не верно.
По другому должно.
Должно быть вот так: "Просто скопировал папку и подключил классы."
Зачем делать как у pear или zend я не пойму.
Зачем всё так усложнять.

mycoding 10.12.2010 12:41

Gozar, я павильно понял, что Вы не используете серверных framework-ов?

mycoding 10.12.2010 12:49

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

B@rmaley.e><e 10.12.2010 15:37

На одном Zend'е свет клином не сошелся - есть множество других фреймворков. Yii например обильно хвалят.

P.S. Я тоже не люблю php, т.к. начинал (и долгое время писал только на нем) с JS. После него php кажется каким-то убогим (Одно только отсутствие function expression уже огорчает).
P.P.S. Не более чем личное мнение, ничего больше.

Gozar 10.12.2010 17:36

удалено.

Gozar 10.12.2010 17:45

удалено.

mycoding 10.12.2010 18:08

Цитата:

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

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

А может сказать, что за набор из 10 функций Вы постоянно используете?
Вы не могли бы поделиться Вашими функциями, если это не будет слишком нагло с моей стороны просить Вас об этом.

Gozar 10.12.2010 19:58

удалено.

Tim 11.12.2010 11:15

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

Допустич что Zend-фреймворк лежит в папке "корень/php/Zend/"

set_include_path($_SERVER['DOCUMENT_ROOT'] . '/php/');

// Автозагрузчик Zend Framework
include 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();


Теперь просто создаём классы и всё, подключать больше ни чего не нужно.
http://framework.zend.com/manual/ru/ - документация на языке этой страны


ИМХО: ZF хорошая штука в плане изучения PHP. Я пишу свои классы используя некоторые идеи ZF.

mycoding 11.12.2010 11:25

Спасибо Tim, но я отказался от идеи использовать Zend.
Пишу свои классы.

Подключить его у меня так не получилось.
Т.е. если он есть на хостинге, то мне же не надо его устанавливать?
А как подключить с хостинга не знаю.

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

Огромное спасибо, ещё раз что стараешься помочь.

Tim 11.12.2010 11:49

Цитата:

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

Как уже писал: допустим ZF в папке /php/Zend/. Теперь туда нужно положить файлы из ZF:

1. Exception.php
2. Loader.php
3. Папку Loader

Всё, больше ни каких файлов и папочек пока не надо. В папке Zend, кроме перечсленных файлов больше ни чего нет. Теперь можно подключать автозагрузчик. Тут самое главное это set_include_path($_SERVER['DOCUMENT_ROOT'] . '/php/'); Т.к. Loader будет пытаться подключить скрипты из дирректории Zend/ а мы договорились что она у нас спрятана в php/.

Допусти нам понадобился класс для работы с кэшем:

Ложим в папку php/Zend/ следующие штуки из ZF:

1. Cache.php
2. Cache/

Всё, терерь можно писать код:

$cache = Zend_Cache::factory('Core', 'File', 
	array(
	   'lifetime' => 60,							// Время жизни кэша
	   'automatic_serialization' => true			// Автоматическая сериализация
	),
	array(
		'cache_dir' => $_SERVER['DOCUMENT_ROOT'] . '/files/cache/'
	)
);

// Если не удалось загрузить из кэша
if(!$CONTENT = $cache->load('content') ) {

	// .. например обращение к БД

	// Запись результата в кэш
	$cache->save($CONTENT, 'content');
}

print $CONTENT;


Цитата:

Огромное спасибо, ещё раз что стараешься помочь.
Да не за что, когда скука наваливается это даже интересно.

P.S.: Я тоже долго с этим разбирался.

Tim 11.12.2010 11:52

Цитата:

Loader будет пытаться подключить скрипты из дирректории Zend/ а мы договорились что
Вот это важно! папка Zend должна быть

micscr 11.12.2010 12:24

Цитата:

Сообщение от mycoding (Сообщение 83294)
Спасибо Tim, но я отказался от идеи использовать Zend.
Пишу свои классы.

Есть такое понятие как микрофреймворк. Может проще тебе с этого начать.

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

Я лично - друпалом занимаюсь. Хотя это CMS/CMF все таки, а не просто php фреймворк.

Цитата:

Сообщение от mycoding (Сообщение 83294)
А вообще он даром не нужен и всё на серверной стороне я могу и хочу написать сам.

ты сам все не напишешь. Можешь конечно начинать потихоньку ...

Tim, а ты друпалом продолжаешь заниматься?

x-yuri 11.12.2010 12:57

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

если принято решение отказаться от использования фреймворков, в результате потребуется изобрести свой фреймворк. Т.е. должно быть как минимум 2 уровня: ядро и прикладной. Писать весь код, как будто это ядро... я себе не желаю такой участи :)

Gozar 11.12.2010 13:44

удалено.

x-yuri 11.12.2010 14:36

Цитата:

Сообщение от Gozar
Иногда люди в попытках подогнать всё под то, что есть заходят так далеко, что забывают первоначальную цель.

Первоначальная цель - разработка работающего приложения.

не забывают. Просто в задачах чуть более сложных, чем "Hello, world!" в любом случае есть низкоуровневый код (ядро) и высокоуровневый (прикладной уровень). Даже если такое разделение в коде явно не присутствует. Требования к производительности ядра, очевидно, выше. Поэтому там приходится пренебрегать ясностью кода. В прикладном уровне это не так критично, поэтому можно "пренебрегать производительностью". Для меня ясность важна потому, что она позволяет писать код быстрее, совершая меньше ошибок и мне потом легче вносить изменения в этот код. Разве я отошел от цели?

Разница между использованием и неиспользованием ФК в том, что при отказе от ФК нужно изобрести свой. Потому что нельзя писать понятный и оптимизированный код. Надо выбрать что-то одно. Ты, похоже, выбрал оптимизацию. Ну что ж, наверное, тебе не нужен framework :)

Gozar 11.12.2010 16:19

удалено.

Gozar 11.12.2010 16:23

удалено.

Tim 11.12.2010 16:42

micscr,
Да всё времени не было. Буду обязательно с ним разбираться.

x-yuri 11.12.2010 18:49

Цитата:

Сообщение от Gozar
Я считаю что всё что работает на сервере должно работать максимально быстро.

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

Цитата:

Сообщение от Gozar
Опишите задачу в которой требуется использовать ФК и на решение этой задачи без использования ФК уйдет намного больше времени иначе наш разговор не имеет смысла.

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

Цитата:

Сообщение от Gozar
Я не спорю что ФК нужны или нет, мне без разницы. Я упоминал что для того чтобы использовать ФК нужно только ответить на вопрос - зачем?

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

Цитата:

Сообщение от Gozar
Есть ещё один нюанс, без знания этого ФК, другой разработчик не сможет продолжить разработку, совместная продуктивная разработка возможно только если разработчики пишут на одном ФК.

сможет, если захочет. Тем более, что это не начинать разработку сайта с нуля на фреймворке. В случае необходимости можно посмотреть на реализацию существующего функционала. Ну и распространенность фреймворка в общем-то да, имеет значение, по-крайней мере для работодателя. Но ведь с ЯП та же ситуация, если сайт написан на Erlang у последующих программистов будут проблемы с поддержкой. Причем, "выучить ЯП" != "выучить фреймворк"

Цитата:

Сообщение от x-yuri
Разница между использованием и неиспользованием ФК в том, что при отказе от ФК нужно изобрести свой. Потому что нельзя писать понятный и оптимизированный код. Надо выбрать что-то одно.

Цитата:

Сообщение от Gozar
Вывод который следует ниоткуда, вернее ничем не подтвержден.

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

Цитата:

Сообщение от Gozar
Опять получается холивар.

ну слюной пока вроде никто не брызгает и хорошо :) и я не хочу доказать свою правоту во что бы то ни стало. Мне больше хочется узнать для себя что-то новое. Но пока что, мне кажется, что дело в том, что у нас разные приоритеты. И со своей стороны, я тоже не вижу, зачем их менять


Часовой пояс GMT +3, время: 20:49.