24/06/22 19:32:00.08 seExgP6zy
北海道ヨーグルトと十勝ヨーグルトは
どっちがおいしいか悩んでるんだナ
30:nobodyさん
24/06/22 19:58:25.76 seExgP6zy
index.php
<?php require_once 'vendor\autoload.php';
$loader = new \Twig\Loader\FilesystemLoader('templates/');
$family = ["Baby","Mommy","Daddy","Grandma","Grandpa","Let's go hunt","Run away","Safe at last","It's the end"];
$j = 0;$sharkss = "";foreach($family as $item){
$suffix2 = " shark";if($j>4){$suffix = "";}
for($i = 0; $i<3; $i++){
$sharkss =$sharkss.$item."".", doo doo doo doo doo doo\n";}
$sharkss = $sharkss.$item.""."!\n";$j++;}
$twig = new \Twig\Environment($loader, []);
echo $twig->render('ind.html', ['name2'=>$sharkss."".$suffix,'logo1'=>$suffix2]);
?>
31:nobodyさん
24/06/22 19:58:53.15 seExgP6zy
base.html
<!DOCTYPE html><html><head>
{% block head %}<title>{% block title %}
{% endblock %}</title>{% endblock %}</head>
<body><main><h2>{% block logo %}{% endblock %}
</h2><table border="1"><tr><td>{% block doo %}{% endblock %}</td></tr>
</table>{% block content %}{% endblock %}</main> <footer>
{% block footer %}© Copyright{% endblock %} </footer></body></html>
index.html
{% extends "base.html" %}
{% block title %}Twigテスト{% endblock %}
{% block head %} {{ parent() }} {% endblock %}
{% block logo %} {{ logo1 }}{% endblock %}
{% block doo %}
<div id="dana1"style="position:absolute">(・ω・)</div><BR>
<script>ax=0;document.getElementById("dana1").style.left=ax +"px";
timer1=setTimeout("game1()",130);
function game1(){document.getElementById("dana1").style.left=ax +"px";
ax+=10;timer1=setTimeout("game1()",130);}
function game2(){ax=0;}</script>
{{ name2 }} {% endblock %} {% block content %}
<button onclick="game2()">Game</button>
{% endblock %}{% block footer %}Twig
32:nobodyさん
24/06/22 20:09:17.48 seExgP6zy
Twigというコードは
phpのプログラマー的な部分と
htmlのデザイナー的な部分を混ぜた言語が
本来の意味であります
33:アズゴア世界のハザマ
24/06/22 22:22:17.06 seExgP6zy
Twig関係で役立つもの
PugToTwig
URLリンク(github.com)
pugで書かれたコードをtwigに変換する
Pug template engine for PHP
URLリンク(github.com)
Twig Deferred Extension
URLリンク(github.com)
ムキになるな強そう参りました
(調子こいてんじゃねぇぞ
死んでくださいテメー)
34:nobodyさん
24/06/22 22:23:30.27 seExgP6zy
世界の電波
35:nobodyさん
24/06/23 00:42:00.78 QdP2zYrwN
ネットで何かを言えば
1000 人に1人のレスが返ってくるが
気にしなくて良い
36:nobodyさん
24/06/23 00:43:29.62 QdP2zYrwN
我が秘奥義
「ドッグTwig」(パグTwig)を
お見せしよう
しばし待たれよ
37:nobodyさん
24/06/23 12:40:51.06 pkWOGqJNy
<?php
require_once 'vendor/autoload.php'; // Twigのautoloadファイルのパスに応じて変更してください
// Twigの設定
$loader = new \Twig\Loader\FilesystemLoader(__DIR__);
$twig = new \Twig\Environment($loader);
// ゲームのスタート
$gameState = [
'animals' => ['猫', '犬', 'ウサギ', 'パンダ', 'ゾウ'],
'selectedAnimal' => '',
'result' => '',
];
// プレイヤーが動物を選択した場合の処理
if (isset($_GET['animal'])) {
$selectedAnimal = $_GET['animal'];
$gameState['selectedAnimal'] = $selectedAnimal;
// 結果を生成する例(ランダムな結果を仮定)
$results = ['大成功!', '失敗...', 'うまくいった!', '再試行してください。'];
$gameState['result'] = $results[array_rand($results)];
}
// テンプレートのレンダリング
echo $twig->render('game.twig', ['game' => $gameState]);
38:nobodyさん
24/06/23 12:41:26.02 pkWOGqJNy
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>動物ゲーム</title>
</head>
<body>
<h1>動物ゲーム</h1>
{% if game.selectedAnimal %}
<p>あなたが選んだ動物は「{{ game.selectedAnimal }}」です。</p>
<p>結果: {{ game.result }}</p>
<p><a href="?">もう一度プレイする</a></p>
{% else %}
<p>どの動物を選びますか?</p>
<ul>
{% for animal in game.animals %}
<li><a href="?animal={{ animal }}">{{ animal }}</a></li>
{% endfor %}
</ul>
{% endif %}
</body>
</html>
39:nobodyさん
24/06/23 13:19:25.12 pkWOGqJNy
<?php
require_once 'vendor/autoload.php'; // Twigのautoloadファイルのパスに応じて変更してください
// Twigの設定
$loader = new \Twig\Loader\FilesystemLoader(__DIR__);
$twig = new \Twig\Environment($loader);
// ゲームのスタート
$gameState = [
'actions' => ['飛ぶ', '泳ぐ', '寝る', 'ごはんを食べる'],
'selectedAction' => '',
'result' => '',
];
// プレイヤーがアクションを選んだ場合の処理
if (isset($_GET['action'])) {
$selectedAction = $_GET['action'];
$gameState['selectedAction'] = $selectedAction;
// 結果を生成する例(ランダムな結果を仮定)
$results = [
'飛ぶ' => 'タヌキは空を飛んでいます!',
'泳ぐ' => 'タヌキは川で泳いでいます。',
'寝る' => 'タヌキはぐっすり眠っています。',
'ごはんを食べる' => 'タヌキはおいしいごはんを食べています。',
];
// 選択されたアクションに対応する結果を取得
if (array_key_exists($selectedAction, $results)) {
$gameState['result'] = $results[$selectedAction];
} else {
$gameState['result'] = '何も起こりませんでした。';
}
}
echo $twig->render('game.twig', ['game' => $gameState]);
40:nobodyさん
24/06/23 13:19:56.91 pkWOGqJNy
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>タヌキのゲーム</title>
</head>
<body>
<h1>タヌキのゲーム</h1>
{% if game.selectedAction %}
<p>タヌキが「{{ game.selectedAction }}」をしました。</p>
<p>{{ game.result }}</p>
<p><a href="?">もう一度プレイする</a></p>
{% else %}
<p>どんなことをしてほしいですか?</p>
<ul>
{% for action in game.actions %}
<li><a href="?action={{ action }}">{{ action }}</a></li>
{% endfor %}
</ul>
{% endif %}
</body>
</html>
41:nobodyさん
24/06/23 14:49:51.24 pkWOGqJNy
<?php
require_once 'vendor/autoload.php'; // Twigのautoloadファイルのパスに応じて変更してください
// Twigの設定
$loader = new \Twig\Loader\FilesystemLoader(__DIR__);
$twig = new \Twig\Environment($loader);
// 迷路の生成
$maze = generateMaze(10, 10); // 10x10の迷路を生成
// テンプレートのレンダリング
echo $twig->render('maze.twig', ['maze' => $maze]);
/**
* 迷路を生成する関数
* @param int $rows 迷路の行数
* @param int $cols 迷路の列数
* @return array 生成された迷路のデータ
*/
function generateMaze($rows, $cols) {
$maze = [];// 迷路の初期化
for ($i = 0; $i < $rows; $i++) {$maze[$i] = [];
for ($j = 0; $j < $cols; $j++) {$maze[$i][$j] = '.';}}
// スタートとゴールをランダムに配置
$startRow = rand(0, $rows - 1)$startCol = rand(0, $cols - 1);
$maze[$startRow][$startCol] = 'S';$endRow = rand(0, $rows - 1);
$endCol = rand(0, $cols - 1);$maze[$endRow][$endCol] = 'E';
return ['rows' => $rows,'cols' => $cols,'cells' => $maze,];}
42:nobodyさん
24/06/23 14:50:20.38 pkWOGqJNy
<!DOCTYPE html><html lang="ja"><head>
<meta charset="UTF-8"><title>タヌキの迷路</title><style>
.maze {display: grid;grid-template-columns: repeat({{ maze.cols }}, 50px);grid-template-rows: repeat({{ maze.rows }}, 50px);gap: 1px;
background-color: #eee;border: 2px solid #333;margin: 20px auto;}
.cell {background-color: #fff;border: 1px solid #ccc;
text-align: center;line-height: 50px;}
.start {background-color: green;}
.end {background-color: red;}
.path {background-color: yellow;}
</style></head><body><h1>タヌキの迷路</h1>
<div class="maze"> {% for row in maze.cells %} {% for cell in row %}
<div class="cell {% if cell == 'S' %}start{% elseif cell == 'E' %}end{% elseif cell == '.' %}path{% endif %}">
{% if cell == 'S' %}スタート{% elseif cell == 'E' %}ゴール{% endif %}
</div>{% endfor %}{% endfor %}</div>
<p><a href="?">新しい迷路を生成する</a></p></body></html>
43:nobodyさん
24/06/23 18:54:46.80 pkWOGqJNy
プログラミングは手段であり
手段に対する目的を考える事が大切だ
44:nobodyさん
24/06/23 20:29:42.03 pkWOGqJNy
知障の思考を考える上で
統合失調症にも可能な理由はある
過敏→花びん
知的障害は自分の知っている言葉で
理解する
過敏→過貧
それに対し統合失調症は
言葉に嫌がらせの意味が無いか
と疑う
びんは貧乏ではないか
びんは便ではないか
馬鹿にする要素を探す
このように本来の意味とは違う理解を
知的障害と統合失調症は
似たように考えているのだ
45:nobodyさん
24/06/23 20:58:46.72 pkWOGqJNy
基本的にはphpであるため
twigに代入した後も
?getなどの機能は継承されるようだ
ややこしいが
{{hen1}}などのtwig変数を意識して
?getを使う必要があるようだ
46:nobodyさん
24/06/23 21:00:32.35 pkWOGqJNy
?getと{{hen1}}を混ぜたプログラミングなんて
難しくないか?
47:nobodyさん
24/06/23 21:04:01.39 pkWOGqJNy
テンプレートに代入した状態で
?で変数を渡すと
phpはテンプレートに代入される前の状態に戻り
phpに?の変数が渡され
それをまたテンプレートに代入する事になる
48:nobodyさん
24/06/23 21:07:58.95 pkWOGqJNy
php(?で渡されてないので変数は無し)
↓
twig(初期状態でphpから初期データのみを受け取り表示
↓?でデータを送り再読み込み
php(?のデータを受け取り
?を含めたデータをtwigに)
↓
twig(?のデータを含め再読み込み込み)
49:nobodyさん
24/06/23 21:08:36.75 pkWOGqJNy
ムズい