PHP 学习第2天
学习了命名空间 、
<?php
// declare(encoding='UTF-8'); //定义多个命名空间和不包含在命名空间中的代码
namespace project1 ;
$nametest = "哈哈哈";
echo $nametest ;
echo "超级变量开始" ;
nextLine();
function nextLine(){
echo "<br>" ;
}
$num = 1 ;
$num1 = 24 ;
function condation(){
nextLine();echo '方法名'.__FUNCTION__ ;
$GLOBALS['z'] = $GLOBALS['num']+$GLOBALS['num1'] ;
nextLine();echo '类名'.__CLASS__ .'----';nextLine();
}
condation();
echo $z ;
nextLine();
echo "_SERVER";nextLine();
echo $_SERVER['PHP_SELF'];nextLine();
echo $_SERVER['SERVER_NAME'];nextLine();
echo $_SERVER['HTTP_HOST'];nextLine();
// echo $_SERVER['HTTP_REFERER'];nextLine(); 这行报错
echo $_SERVER['HTTP_USER_AGENT'];nextLine();
echo $_SERVER['SCRIPT_NAME'];
?>// PHP文件结束标签
<!DOCTYPE html>
<html>
<head>
<title>USB登录系统</title>
欢迎进入USB!
</head>
<body>
<form method="POST" action="<?php $_SERVER ['PHP_SELF'] ?>">
用户名:<input type="text" name="username">
密码: <input type="password" name="pasword">
<input type="submit" >
</form>
<?php
var $name="";
var $pasword ="";
$name = $_REQUEST['username'] ;
$pasword = $_REQUEST['pasword'];
echo $name.$pasword ;
?>
</body>
</html>
<?php
namespace project2 ;echo '<br>';
echo __NAMESPACE__."的".$nametest;
// echo "这是第".__LINE__."行" ;// 我去 俩下划线
// nextLine();echo '文件路径'.__FILE__ ;
// nextLine();echo __DIR__ ;
/* class Base{ //类
public function sayHello(){ // 函数
echo "hello。。";
}
trait SayWorld{
public function sayHello(){
parent::sayHello();// 调用父类的函数是吗 ?
echo "World!" ;
}
}
// 在来一个类 继承基类 ;
class MyHello extends Base{
use SayWorld ;// 调用子类方法sayhello
}
$objj = new MyHello();
$objj ->sayHello();
}*/
class Base {
public function sayHello() {
echo 'Hello ';
}
}
trait SayWorld {
public function sayHello() {
parent::sayHello();
echo '函数名'.__METHOD__ ;
// project1->nextLine();
echo '命名空间:'.__NAMESPACE__ ;
echo 'World!';
}
}
class MyHelloWorld extends Base {
use SayWorld;
}
$o = new MyHelloWorld();
$o -> sayHello();
namespace project2\sub1\sub2 ;
const FOO =1 ;
function foo(){}
class foo{
static function staticMethod(){}
}
?>
面向对象,表单、多维数组、日期、包含、文件及上传、cookie、session
<?php
namespace project4;
/*面向对象 抽象一个车 */
class Car{
var $name ;
var $color ;
var $site ;// 座位
var $engineer ;// 引擎
function run(){}
function back(){}
function setName($mName){
$this->name =$mName ;
}
function getName(){
echo $this->name.PHP_EOL ;
}
/**
* [setSite description]
* @author Carlyle junprivate.cn
* @date 2016-11-30
* @param [param]
* @param [type] $siteCount [座位数量]
*/
function setSite($siteCount){
$this->site =$siteCount ;
}
function getSite(){
echo $this->site.PHP_EOL ;
}
function setColor($mColor){
$this->color =$mColor ;
}
function getColor(){
echo $this->color.PHP_EOL ;//变量 $this 代表自身的对象。PHP_EOL 为换行符。
}
/**
* [发动机情况描述]
* @author Carlyle junprivate.cn
* @date 2016-11-30
* @param [param]
* @param [type] $description [缸,材质等]
*/
function setEngineer($description){
$this->engineer = $description ;
}
function getEngineer(){
echo $this->engineer .PHP_EOL ;
}
}
/*封装一辆车*/
$car = new Car; //
$car->setColor("白色");
$car->setEngineer("12缸,镀金全铝缸体");
$car->setSite("7座");
$car->setName("昂克雷");
/*显示车辆信息*/
$car->getcolor();
$car->getEngineer();
$car->getSite();
$car->getName();
class Benz extends Car{
var $category ;//车系
function benzService(){ // 如果new car 那么这个函数 无法调用到
echo " 欢迎光临梅赛德斯奔驰中国!".PHP_EOL ;
}
}
class Wuling extends Car{
var $race ;//比赛名称
function race(){
echo "秋名山下 不见不散,输了扣车标 。";
}
}
class Audi extends Car{
var $lalala ;//实在想不出新属性了 。。
function AudiService ($customer){
echo "欢迎".$customer.'光临一汽奥迪!';
}
}
$benz = new Benz ;//有没有括号 都通过了编译
$benz->setColor("黑色");
$benz->setSite("20座");
$benz->category="S级" ;
echo '<br>';
$benz->getColor().$benz->getSite().$benz->category.$benz->benzService();
?>
得到的
<?php
setcookie("user","lijianfei",time()+3600);
// echo $_COOKIE["user"];
// print_r($_COOKIE)."<br>";
session_start();// 会话 开始啦!
$_SESSION['views'] = 1 ;
?>
<!DOCTYPE html>
<html>
<head>
<title>CSDN账号登陆</title>
<style> error {color :#ff0000 ;}</style> </head>
<body>
<?php
$nameErr = $emailErr=$genderErr = $websiteErr = "" ;
$name =$email=$gender=$website ="";
echo "浏览量:".$_SESSION['views'];
// 定义变量并默认为空值
if (isset($_COOKIE["user"])) {
echo "欢迎".$_COOKIE["user"]."!<br>";
}else{
if ($_SERVER["REQUEST_METHOD"]=="POST") {
if(empty($_POST["name"])){
$nameErr= "名字是必须的";
}else{
$name = test_input($_POST["name"]) ;
}
if (empty($_POST["email"])) {
$emailErr = "邮箱是必须的" ;
}else{
$email =test_input($_POST["email"]);
}
if (empty($_POST["website"])) {
$websiteErr ="网站为空" ;
}else{
$website=test_input($_POST["website"]);
}
if(empty($_POST["gender"])){
$genderErr ="性别未填!";
}else{
$gender=test_input($_POST["gender"]) ;
}}
}
/**
* 处理参数
* @author Carlyle junprivate.cn
* @date 2016-11-30
* @param [param]
* @param [type] $data [description]
* @return [type] [description]
*/
function test_input($data){
$data = trim($data);
$data=stripslashes($data) ;
$data =htmlspecialchars($data);
return $data ;
}
?>
<h2>表单验证实例</h2>
<p><span class="error">必填字段</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="button" value="清除cookie" action="<?php setcookie("user","",time()-3600) ; ?>">
<input type="button" value="保存cookie" action="<?php setcookie("user",$name,time()-3600) ; ?>">
名字:<input type="text" name = "name"><span class="error">* <?php echo $nameErr ; ?></span><p>
性别:<input type="text" name ="gender" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]) ; ?>"><span class ="error">*<?php echo $genderErr;?>
邮件 :<input type="text" name="email" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<!-- 提交按钮 -->
<input type="submit" value="检验">
</form>
<?php
echo "<h2>您的输入为:</h2>" ;
echo $name ;"<br>";
echo $email ;"<br>";
echo $gender ;"<br>";
?>
</body>
</html>