lunch
-css
-js
-class
lunch.class.phpを作る
classの「がわ」はこれですよ↑
private $pdo;//外から直接アクセスはできないように
これをpublicにすると外からアクセスできてしまう
最初はコンストラクタ
public function __construct(){//コンストラクタ。初期化されたときに動く
}
コメントの時
// -----------------
と、//の次に半角開けると一番間違いがない
<?php
$obj=new Lunch();
?>
<!DOCTYPE html>
エラーが起きましたね
Fatal error: Uncaught Error: Class 'Lunch' not found in C:\xampp\htdocs\php\makino\lunch\list.php:2 Stack trace: #0 {main} thrown in C:\xampp\htdocs\php\makino\lunch\list.php on line 2
クラスlunchが見つからないよ
→クラスを読み込んでないから当然
これならよい
<?php
require_once("class/lunch.class.php");
$obj=new Lunch();
?>
<!DOCTYPE html>
さらにこれだよ
Parse error: syntax error, unexpected 'function__construct' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in C:\xampp\htdocs\php\makino\lunch\class\lunch.class.php on line 5
public function __construct(){//コンストラクタ。初期化されたときに動く
functionのあとには半角スぺが要る
ふつう戻り値は複数戻せない
配列ならOK
つづきは金曜のテストの後で
ここまで
list.php
<?php
require_once("class/lunch.class.php");
$obj=new Lunch();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ニューリスト</title>
<link rel="stylesheet" href="css/style.css">
<script src="../jquery-3.4.1.min.js"></script>
</head>
<body>
<div id="container">
<h1>new list</h1>
<ul id="m_list">
</div>
<script src="js/lunch.js"></script>
</body>
</html>
style.css
body{
background:#fff;
}
#container{
width:80%;
margin:auto;
}
lunch.js
$(function(){
console.log("hoge");
});
lunch.class.js
<?php
class Lunch{
private $pdo;//外から直接アクセスはできないように
public function __construct(){//コンストラクタ。初期化されたときに動く
// -----------------
//環境によって変更
// -----------------
$host="localhost";
$dbuser="root";
$dbpass="";
$dbname="lunch";
// -----------------
$dsn = "mysql:host={$host}; dbname={$dbname}; charset=utf8";
$this->pdo=new PDO($dsn,$dbuser,$dbpass); //$pdoとは書かない
}//constructの終わり
public function getAllMenu{
$sql = "SELECT * FROM foods";
$rs = $this->pdo->query($sql);
$rows = fetchAll(PDO::FETCH_ASSOC);
return $rows;//戻り値
}
}
?>