function AppCreate(data, callback) {
window.WebViewJavascriptBridge.callHandler('create', data, function(response) {
callback(response);
return response;
})
}
AppCreate(data, function(response){
// здесь что-то делать с response
});
function AppCreate(data) {
var deferred = Q.defer();
window.WebViewJavascriptBridge.callHandler('create', data, function(response) {
deferred.resolve(data);
});
return response;
}
AppCreate(data).then(function(response){
// здесь что-то делать с response
});
$rows = explode("\n", $text);
$result = array();
foreach($rows as $row) {
list($name, $link) = explode('|', $row);
$result[] = array('name' => trim($name), 'link' => trim($link));
}
// Тестовое задание
// Реализовать класс дерева, наследующийся от абстрактного Tree:
class Node
{
private $name;
function __construct($name)
{
$this->name = $name;
}
}
abstract class Tree
{
// создает узел (если $parentNode == NULL - корень)
abstract protected function createNode(Node $node,$parentNode=NULL);
// удаляет узел и все дочерние узлы
abstract protected function deleteNode(Node $node);
// один узел делает дочерним по отношению к другому
abstract protected function attachNode(Node $node,Node $parent);
// получает узел по названию
abstract protected function getNode($nodeName);
// преобразует дерево со всеми элементами в ассоциативный массив
abstract protected function export();
}
// Обеспечить выполнение следующего теста:
// 1. создать корень country
$tree->createNode(new Node('country'));
// 2. создать в нем узел kiev
$tree->createNode(new Node('kiev'), $tree->getNode('country'));
// 3. в узле kiev создать узел kremlin
$tree->createNode(new Node('kremlin'), $tree->getNode('kiev'));
// 4. в узле kremlin создать узел house
$tree->createNode(new Node('house'), $tree->getNode('kremlin'));
// 5. в узле kremlin создать узел tower
$tree->createNode(new Node('tower'), $tree->getNode('kremlin'));
// 4. в корневом узле создать узел moskow
$tree->createNode(new Node('moskow'), $tree->getNode('country'));
// 5. сделать узел kremlin дочерним узлом у moskow
$tree->attachNode($tree->getNode('kremlin'), $tree->getNode('moskow'));
// 6. в узле kiev создать узел maidan
$tree->createNode(new Node('maidan'), $tree->getNode('kiev'));
// 7. удалить узел kiev
$tree->deleteNode($tree->getNode('kiev'));
// 8. получить дерево в виде массива, сделать print_r
print_r($tree->export());
/**
результатом последнего пункта должен быть следующий вывод в STDOUT:
Array
(
[country] => Array
(
[moskow] => Array
(
[kremlin] => Array
(
[house] =>
[tower] =>
)
)
)
)
*/
$card = '4275245675672511';
echo substr_replace($card, '******', -10, 6);
Интересует мнение знающих людей, что гибче для настройки?Не могу сказать что один из них более или менее гибкий чем другой, но в Симфони сам процесс конфигурации всегда занимал у меня чуть больше времени.
В чем их принципиальные отличия в архитектуре, в чем основные отличия?Постарался ответить в посте, также посмотрите презентацию.
function d1() {
$('#d1').slideUp(1000).slideDown(1000);
cb();
}
function d2() {
setTimeout(function(){
$('#d2').hide(1000).show(1000);
cb();
},2000);
}
function d3() {
$('#d3').fadeOut(1000).fadeIn(1000);
cb();
}
var fns = [ d1, d2, d3 ];
function cb()
{
var fn = fns.shift();
if( typeof fn == 'function' ) fn.call();
}
cb();