location ~ ^/phpmyadmin/* {
proxy_pass http://127.0.0.1:8080;
server_name_in_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
}
<VirtualHost 127.0.0.1:8080>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
html полностью готовить на стороне клиента на JS— в вашем будет значить примерно следующее:
<tbody>
<?php
$sql = "SELECT * FROM test_table2 ";
$sql = mysqli_query($db, $sql);
while ($result = mysqli_fetch_array($sql))
{
echo "<tr><td>".$result['Alphabetic']."</td><td>".$result['Numeriс']."</td><td>".$result['Date']."</td><td>".$result['Unsortable']."</td></tr>\n";
}
?>
</tbody>
<?php
$sql = "SELECT * FROM test_table2 ";
$sql = mysqli_query($db, $sql);
$return = [];
while ($result = mysqli_fetch_array($sql))
{
$return[] = $result; // Здесь просто собираем данные в одну переменную
}
?>
<script>
<? echo "var resultArr='".json_encode($return)."'"; ?> // сюда мы передали переменную в JS
// тут должен быть какой-то JS-шаблонизатор, который разберет массив и сформирует таблицу по шаблону
</script>
<tbody>
</tbody>
У enterprise-приложений есть три основных качества:
- Большая и сложная кодовая база;
- Высокие требования по надёжности и производительности;
- Длительный срок эксплуатации.
Поэтому разрабатываться они должны на языках со строгой статической типизацией. Приложение на динамическом PHP в несколько миллионов строк кода, у которого на протяжении десяти лет сменится сотня разработчиков, будет иметь в себе такое количество трудноуловимых багов, что его поддержка будет обходиться дороже, чем будет приносить его эксплуатация.
Помогите пожалуйста специалисту, который только возобновил работу после 3 лет декретного отпуска:)
gulp.task('html:build', function() {
gulp.src('src/[^_]*.html')
.pipe(fileinclude({
prefix: '@@',
basepath: '@file'
}))
.pipe(gulp.dest('build/'));
});
@@include('./_includes/_module.html')
const parentSelectors = [ '.maplabels', '#map' ];
const activeClass = 'active';
$(document).on('click', parentSelectors.map(n => `${n} >`).join(','), e => {
const index = $(e.currentTarget).index();
parentSelectors.forEach(n => $(n)
.children()
.removeClass(activeClass)
.eq(index)
.addClass(activeClass)
);
});
const parents = parentSelectors.map(n => document.querySelector(n));
document.addEventListener('click', ({ target: t }) => {
const parent = parents.find(n => n !== t && n.contains(t));
if (parent) {
const index = [...parent.children].findIndex(n => n.contains(t));
for (const { children } of parents) {
for (let i = 0; i < children.length; i++) {
children[i].classList.toggle(activeClass, i === index);
}
}
}
});
$orderObj = Sale\Order::load($order['ORDER']['ID']);
$paymentCollection = $orderObj->getPaymentCollection();
$payment = $paymentCollection[0];
$service = Sale\PaySystem\Manager::getObjectById($payment->getPaymentSystemId());
$context = \Bitrix\Main\Application::getInstance()->getContext();
$service->initiatePay($payment, $context->getRequest());
<?$APPLICATION->IncludeComponent(
"bitrix:sale.order.payment",
"",
Array(
)
);?>
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$APPLICATION->SetTitle("Оплата заказа");
ob_start();
?>
<?$APPLICATION->IncludeComponent(
"bitrix:sale.order.payment",
"",
Array(
)
);?>
<?
$formPay = ob_get_contents();
ob_end_clean();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php");
$APPLICATION->SetTitle("Оплата заказа");
?>
<div class="formPayment">
<?
echo $formPay;
?>
</div>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>