All streams
Search
Write a publication
Pull to refresh
23
0
Константин Кудряшов @everzet

User

Send message
Ага. Знаем. Попробуй теперь на этот «PHP прямо из коробки» поставить какой-нибудь из стандартных модулей, не находящихся в этой коробке, типа sqllite или domxml. Или обнови его с 5.2.6 до 5.2.9.
Просто за всех решать не стоит! Мне и, судя по минусам, многим другим нужны.
Очень сильно советую Вам посмотреть www.youtube.com/watch?v=4XpnKHJAok8. Создатель GIT доходчиво, в течение часа рассказывает для чего эта распределенность, почему она настолько важна и почему так плохо ее не ценить =)
На крупном проекте производительность рано или поздно все-равно упрется в крышку сервера и вот тогда Doctrine или Propel будут более выгодно выглядеть за счет своей гибкости и масштабируемости в сравнении с менее развитыми решениями. А в мелком проекте вообще не стоит заострять внимание на производительности. IMHO
Ну конечно упала =) Причем значительно… Примерно раза в 2 на моем предыдущем ноутбуке (C2Duo 1.8, 2GB RAM) относительно нативного ORM CI. Однако, гибкость получаемая при разработке с Doctrine лично для меня покрывает все издержки производительности. В конечном счете, мы просто выбираем между производительностью и гибкостью разрабатываемой системы…
Сильно извиняюсь. Хром сглючил…
Не пробовали Kohana?
Почему бы эту стрелку не переместить вверх над кнопкой обновить? Думаю, это решит проблему =)
Почему-то мне кажется, что Вы очень сильно ошибаетесь насчет нас, веб девелоперов…
Наконец у оперы появится красивая иконка!
3) И роуты можно немного изменить на случай, если вам захочется добавить еще парочку языков к вашему сайту (и такое случается). В таком случае, я исходил из принципа, что любой язык можно представить в двухбуквенном виде, однако у меня нет и не должно быть ни одного контроллера, в названии которого меньше 3 букв. Тогда роуты прописываются так:
$route['[a-z]{2}'] = $route['default_controller'];
$route['([a-z]{2}/)?(.*)'] = "$2";

Дописав это в конец config/routes.php (вместо $route['(ru|ua)'] = $route['default_controller']; $route['(ru|ua)/(.+)'] = "$2";) и положив приведенные мной выше файлы в helpers и libraries мы получим полную языковую поддержку, не влазя в контроллеры или вьюшки.
Статья интересна, но есть, на мой взгляд, несколько досадных упущений:
1) Для расширения языковых параметров CI, мне кажется лучше унаследовать и расширить именно языковую библиотеку (Language.php), а не контроллер. Пример файла application/library/My_Language.php (на PHP5, но можете переписать под ныне покойный PHP4):
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
class XT_Language extends CI_Language
{
	private $hasURLIdiom = FALSE;
	private function setURLIdiom() {
		$CI =& get_instance();
		$idiom = $CI->uri->segment(1);
		$CI->config->set_item('def_language', $CI->config->item('language'));
		if (strlen($idiom) == 2 && is_dir(APPPATH . 'language/' . $idiom)) {
			$CI->config->set_item('language', $idiom);
		}
	}
	public function __construct() {
		parent::CI_Language();
	}
	public function load($langfile = '', $idiom = '', $return = FALSE) {
		if (! $this->hasURLIdiom) {
			$this->setURLIdiom();
			$this->hasURLIdiom = TRUE;
		}
		parent::load($langfile, $idiom, $return);
	}
}

2) Также следует расширить URL helper, изменив функцию site_url для поддержки языкового сегмента в ссылке. В противном случае, зайдя по ссылке baraholka.rv.ua/ru/, все ссылки, созданные при помощи site_url будут все-равно вести на baraholka.rv.ua/. Пример файла application/helpers/My_url_helper.php:
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
function site_url($uri = '') {
	$CI =& get_instance();
	$idiom = ($CI->config->item('language') == $CI->config->item('def_language')) ? "" : "/" . $CI->config->item('language') . "/" ;
	return $CI->config->site_url($idiom . $uri);
}
Просто потрясающе… Я восхищен, в том числе и качественным наложением аудио на видеоряд.
От всего сердца желаю удачи =)
Вы зря так… Гугл просто рассматривает нас (windows пользователей), как бета-тестеров. А вам (mac и linux юзерам) хочет предоставить качественный, выверенный, готовый продукт =)
Я один заметил одинаковые картинки на банере и фотках мыши?
Потому же, почему у Вас забрали рута из убунты =) Ваш Firefox же запущен с правами обычного пользователя, поэтому у него, видимо, нет доступа к системным директориям. Ставьте Firefox к себе в хоум и все должно начать обновляться... А вообще, сильно советовал бы Вам изучить корни Linux и ее системы разделения прав.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity