phpinfo()
,有些有傳回值,有些沒有;有些需要輸入參數,有些不用。
function 函數名稱($參數1='預設值' , $參數2='預設值',...){
global $外面的變數1, $外面的變數2;
//函數內容,任何有效的 PHP 程式碼,包括其它函數和class定義 ;
return 傳回值;
}
global
宣告。當然,函數裡面的變數外面也無法取用,除非return
出去。
// 取得目前網址
$smarty->assign('action', $_SERVER['PHP_SELF']);
function link_db()
{
//實體化資料庫物件
$mysqli = new mysqli(_DB_LOCATION, _DB_ID, _DB_PASS, _DB_NAME);
if ($mysqli->connect_error) {
throw new Exception('無法連上資料庫:' . $mysqli->connect_error);
}
$mysqli->set_charset("utf8");
return $mysqli;
}
// 引入function.php
require_once 'function.php';
require_once()
或 include_once()
引入。
<?php
//常數設定
define('_DB_LOCATION', 'localhost');
define('_DB_ID', 'root');
define('_DB_PASS', '12345');
define('_DB_NAME', 'todo');
define('_PAGE_TITLE', '待辦清單');
define('_PAGE_HEADER', '我的待辦清單');
// 引入function.php
require_once 'function.php';
// 引入Smarty
require_once 'smarty/libs/Smarty.class.php';
// 創建Smarty物件
$smarty = new Smarty;
//資料庫連線
$db = link_db();
// 一維陣列
$navbar = ['home' => "回首頁", 'post' => "發布待辦事項"];
$smarty->assign('navbar', $navbar);
// 變數
$content = [];
$op = '';
<?php
$smarty->assign('title', _PAGE_TITLE);
$smarty->assign('header', _PAGE_HEADER);
$smarty->assign('op', $op);
$smarty->assign('content', $content);
// 輸出到樣板檔
$smarty->display('index.tpl');
{include file="header.tpl"}
引入。
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/fontawesome_css/all.css">
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<title>{$title}</title>
</head>
<html lang="zh-TW">
<!-- 引入檔頭 -->
{include file="header.tpl"}
<body>
{if 判斷條件}
//條件為真執行
{elseif 判斷條件}
//elseif 的條件為真執行
{else}
//條件為假時執行
{/if}
{if $content}
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-sm">
<thead class="thead-dark">
<tr>
<th>描述</th>
<th>到期日</th>
</tr>
</thead>
<tbody>
{foreach $content as $c}
<tr>
<td>{$c.directions}</td>
<td>{$c.end}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{else}
<div class="jumbotron text-center">
<a class="btn btn-info" href="index.php?op=post" role="button">新增待辦事項</a>
</div>
{/if}