Аналог Console от Философа, но не для MODX
Здравствуйте.
Изучаю PHP. Ищу аналог Console. Но у него есть недостаток: маленькое окно для вывода результатов.
Есть ли аналог, с редактором и подстветкой кода? Чтобы я мог загрузить в папку на сервер, запаролить папку и использовать это для обучения.
Изучаю PHP. Ищу аналог Console. Но у него есть недостаток: маленькое окно для вывода результатов.
Есть ли аналог, с редактором и подстветкой кода? Чтобы я мог загрузить в папку на сервер, запаролить папку и использовать это для обучения.
Комментарии: 4
Создаёшь в папке index.php и открываешь так: s8820.h5.modhost.pro/console/
<?php
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
@ini_set('display_errors', 1);
$code = str_replace(array('<?php', '?>'), '', $_POST['code']);
ob_start();
$result = eval($code);
$output = ob_get_contents();
ob_end_clean();
if($result){
$output = $result;
}
echo $output;
die();
}
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Console</title>
<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<style>
.ace_editor {
height: 250px !important;
}
body {
padding-bottom: 80px;
}
</style>
</head>
<body>
<div class="container">
<h1>Console</h1>
<form action="" class="jumbotron" id="code_form" method="post">
<textarea class="form-control" name="code" id="code" rows="15"><?php echo "<?php\n"; ?></textarea>
<input type="submit" class="btn btn-lg btn-primary" value="Выполнить" onclick="return run();">
</form>
<div id="result"></div>
</div>
<script src="https://ace.c9.io/build/src/ace.js"></script>
<script>
function run() {
document.getElementById("result").innerHTML = '<img src="http://downloads.pcauthority.com.au/images/spinner.gif">';
$.ajax({
url: document.location.href,
type: "POST",
dataType: "html",
data: {code: window.editor.getValue()},
success: function(response) {
$("#result").html(response);
},
error: function(response) {
$("#result").html("Ошибка сервера");
}
});
return false;
}
window.onkeydown = function(e) {
if (e.ctrlKey) {
if (e.keyCode == 13) {
run();
}
}
};
window.editor = ace.edit("code");
window.editor.setTheme("ace/theme/monokai");
window.editor.getSession().setMode("ace/mode/php");
window.editor.gotoLine(2);
window.editor.focus();
</script>
</body>
</html>
Здорово!
Я же правильно понимаю, что на боевом сайте это огромная дыра и использовать только на тестовых версиях можно?
Я же правильно понимаю, что на боевом сайте это огромная дыра и использовать только на тестовых версиях можно?
Конечно.
Только сейчас увидел, спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.