[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прерывание функции
Страницы: 1, 2
SoMeOnE
Цитата (kaww @ 23.07.2013 - 07:23)
По поводу exit; die; echo в теле функции - так делать НЕЛЬЗЯ.

А если ajax запрос, и нужно расспечатать результат выполнения ?
Игорь_Vasinsky
echo я раньше использовал в таких случаях

а щас
return array('success'=>true,'mess'=>'any message');


потом на КЛИЕНТЕ распарсил и вставил чё куда надо.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
Цитата
А если ajax запрос, и нужно расспечатать результат выполнения ?


SoMeOnE, какая разница AJAX или нет
распечатать результат в простейшем случае
echo my_function();



_____________
Стимулятор ~yoomoney - 41001303250491
zvezda_t
sergeiss, ну я же правильно написала... чего ты меня стыдишь? rolleyes.gif
Засомневалась немного... а вдруг что то новое придумали))) а я не в курсе rolleyes.gif


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
SoMeOnE
Игорь_Vasinsky
Мы о разных вещах помоему говорим. Сервер ничего не отдал клиенту, как тот увидит данные?

Valick
Не совсем понял, что Вы хотели сказать. Если работаю в php, обращаюсь к какой либо ф-ии, внутри ф-ии просто возвращаю значение и в дальнейшем его использую.
А теперь ситуация. ajax отправляет запрос, рутер перенаправляет куда то, в конце какая то ф-ия обрабатывает, и в конце ф-ии я место return использую echo, что бы вернуть готовый результат клиенту. Что предлагаете Вы ?
Valick
Цитата
Что предлагаете Вы ?

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


_____________
Стимулятор ~yoomoney - 41001303250491
SoMeOnE
Цитата (Valick @ 23.07.2013 - 12:56)
Цитата
Что предлагаете Вы ?

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

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

Как тут не вспомнить http://www.youtube.com/watch?v=48d0RuBfGlQ
Valick
SoMeOnE, AJAX запрос к серверу ничем не отличается от обычного, но логично иметь для AJAX запроса заточенный под него обработчик.
И тут важно отделять мух от котлет, модель от контроллера.
Модель общая для обычного и асинхронного запросов, а вот контроллеры у них разные. Функция в большинстве случаев - это модель.

_____________
Стимулятор ~yoomoney - 41001303250491
SoMeOnE
Цитата (Valick @ 23.07.2013 - 13:05)
SoMeOnE, AJAX запрос к серверу ничем не отличается от обычного, но логично иметь для AJAX запроса заточенный под него обработчик.
И тут важно отделять мух от котлет, модель от контроллера.
Модель общая для обычного и асинхронного запросов, а вот контроллеры у них разные. Функция в большинстве случаев - это модель.

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

Вот допустим контроллер куда приходит запрос

Свернутый текст
public function action_filter()
{
$_POST = Arr::map('trim', $_POST);
$content = View::factory('article_filter')
->
bind('articles', $articles)
->
bind('date', $date)
->
bind('pagination', $pagination);

$time = time();
$date = date('d-m-Y', $time);

$page = Arr::get($_POST, 'page', '1');
$category = $_POST['category'];
if ($category == 0) $category = 'all';
$total_posts = Model::factory('safarticle')->get_count_article($category);

$pagination = Pagination::factory(array(
'current_page' => array('source' => 'manual', 'key' => $page),
'total_items' => $total_posts,
'items_per_page' => 10,
));


$articles = Model::factory('safarticle')->get_parent_articles($page, $category);
echo $content;
}


А вот часть модели

Свернутый текст
public function get_parent_articles($page, $category)
{
$start = 0;
$count = $page - 1;

if ($count > 0) {$start = ($count * 10);}
$default_lang = Model::factory('language')->default_lang();

$query = DB::select('articles.id', 'articles.num', 'articles.title', 'articles.url',
'articles.longitude', 'articles.latitude', array('UNIX_TIMESTAMP("articles.date")', 'date'), 'articles.status', 'articles.main_page',
'articles.order', array('pages.num', 'p_num'), array('pages.title', 'p_title'))
->
from('articles')
->
join('pages')
->
on('pages.num', '=', 'articles.parent')
->
where('articles.lang', '=', $default_lang)
->
where('pages.lang', '=', $default_lang)
->
limit(10)
->
offset($start)
->
order_by('articles.id', 'ASC')
;

}

$result = $query->execute()->as_array();
return $result;
}


Как улучшить?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.