Рубрики
PHP front-end HTML back-end PROJECT

«Записи» от WorldPress открываем через ссылку в окно с движением

function mypost_content_replace($content) {
 $id = str_replace(array('[post'),'',$content);
 $id = substr($id, 0,strpos($id,' '));
 return mypost_el($id);
}
function mypost_content_callback($matches) {
 return mypost_content_replace($matches[0]);
}
function mypost_content_write($content){
return preg_replace_callback('/\\[post.*?\\]/i','mypost_content_callback', $content);
}
$GLOBALS['myposts']=array();
function mypost_load_content($content,$name,$link,$ID,$title,$id){
$GLOBALS['myposts'][]=$ID;
$content = mypost_content_write($content);
$el='<div data-id="'.$ID.'" id="posts'.$ID.'" class="block-mouse data2206241820 color2206241820" style="padding:2px;font-size:9pt;display:none;position:absolute;z-index:1003">';

$el=$el."\n".'<div style="display:inline-block;font-weight: bold;color:red">'.$title.'</div><div style="float:right;display:inline-block">'.$id.'</div>';
	
$el=$el."\n".'<div class="btns" style="none">';
$el=$el."\n".'<div style="display:inline-block">'.$link.'</div>';
$el=$el."\n".'<a href="#" onclick="$(`.block-mouse`).css(`display`,`none`)" style="text-decoration: none;margin-right:2px;vertical-align: middle;float:right;display:inline-block;">Все</a>';
$el=$el."\n".'<img onclick="$(`#posts'.$ID.'`).css(`display`,`none`)" src="https://codegid.ru/img/close.png" style="margin-right:2px;cursor:pointer;float:right;display:inline
block;height:18px;width:18px">';
$el=$el."\n".'</div>';	
	
$el=$el."\n".'<div style="font-weight: bold;color:green">'.$name.'</div>';	
$el=$el."\n".'<div class="res" style="overflow:scroll;height:400px;width:400px;">'.$content.'</div></div>';
return $el;
}

function mypost_el($id){
	$ID='p'.$id;
	$href='https://codegid.ru/?p='.$id;
	
	$my_post=get_post($id);
	$name=$my_post->post_name;
	$name=urldecode($name);
	$title=$my_post->post_title;
	$content=$my_post->post_content;
	$link='<a title="'.$name.'" style="text-decoration: none;margin-right:2px;vertical-align: middle;display:inline-block;" target="_blank" href="'.$href.'">'.$title.'</a>';
	
	$post_categories = wp_get_post_categories($id);
	foreach( $post_categories as $c ){
		$cat = get_category($c);
		$cat = '<a style="text-decoration: none;color:green;margin-left:2px" href="'.get_category_link($cat->term_id).'">'.$cat->name.'</a>';
		$link=$cat.'/'.$link;
	}
	$el='<div style="margin-bottom:2px;"><a class="posts-root" onmouseover="posts_root_mouseover($(this))" data-id="'.$ID.'" style="text-decoration: none;margin-left:2px;" href="'.$href.'">'.$title.'</a></div>';
	if(array_search($ID,$GLOBALS['myposts']) == false){		
		$el=$el."\n".mypost_load_content($content,$name,$link,$ID,$title,$id);
	}
return $el;
}
  • Вызов через простой текст c вводом номера поста

[post10644 описание] 
Рубрики
PHP Visual Studio Code Debug VSCode настройки VSCode плагины плагин

VSCode.PHP.плагин «XDebug»

Настройка в редакторе VSCode
ctrl+shift+x
  • php debug
    установка плагина в VSCode
  • Настройка конфигурации в VSCode
    Run\Add Configuration...
    PHP
    launch.json
Запуск отладки в редакторе VSCode
ctrl+shift+d

Режимы отладки в разделе "ЗАПУСК И ОТЛАДКА"

  1. режим Listen for xdebug
  • открыть скрипт php для отладки в VSCode
  • отметить место отладки (brackpoint)
  • запустить отладку RUN в разделе "ЗАПУСК И ОТЛАДКА"
  • отрыть страницу в браузере
    http://localhost/project/ для XAMPP
Рубрики
PHP Debug плагин PHP настройки

Установка плагина Xdebug для PHP

Xdebug
помогает разработчику в отладке php-кода

В отличие от стандартных методов var_dumpprint_r
позволяет использовать удалённый отладчик в IDE построчно через брейк-пойнты. Данный метод поможет отследить значения переменных и ускорит процесс поиска ошибок в коде
  1. <?php echo phpinfo()?>
  2. инструкция установки Xdebug в php
    https://xdebug.org/wizard
  3. расположение Xdebug.dll
    ...\php\ext\php_xdebug.dll
  4. ...\php\php.ini
    инструкция в сервере xampp
...
[XDebug]
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port = 9003
zend_extension="C:\xampp\php\ext\php_xdebug.dll"
Рубрики
PHP package manager IDE

Пакетный менеджер Composer для PHP

устанавливает плагины, библиотеки, фреймворки
https://getcomposer.org/download/

File\Settings...\Languages & Frameworks\PHP\Composer
задаётся интерпретатор php
прописывается путь к композеру

  • отключить строку в ...\php\php.ini
;extension=php_openssl.dll

установка в терминале IDE

  • выполнить в любом терминале для установки Composer PHP
установка композер
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
глобально композер
php composer.phar global require laravel/installer
Рубрики
PHP Open Server Laravel Laravel-project

Установка фреймворка Laravel

особенности фреймворка Laravel
встроенный React
встроенный роутинг
использование как API для обращения с фронта