飞道的博客

PHP基础(五)--类的继承、jqAjax请求

199人阅读  评论(0)

一、类的继承

描述:继承有时也被称为类扩展。是指子类会继承父类所有公有的和受保护的属性方法。

注意:在php中使用extends关键词来实现继承

语法:

        class 子类名  extends  父类名{

            子类结构;

        }

说明:

        a.除非子类覆盖了父类的方法,否则被继承的方法都会保留其原有功能。

        b.继承对于功能的设计和抽象是非常有用,避免了重复编写大量相同的公有结构

        c.对于公有属性和方法的继承,子类可以直接随意使用

                对于受保护的属性和方法的继承,可以在【父类或子类内部】使用

                对于私有的属性和方法,子类不能够继承。

例子:


  
  1. <?php
  2. class Father{
  3. public $pubPro = '父类公开的属性';
  4. protected $protecPro = '父类受保护的属性';
  5. private $priPro = '父类受保护的属性';
  6. public function fatherPublicPut(){
  7. echo $this->pubPro. "<br>";
  8. echo $this->protecPro. "<br>";
  9. echo $this->priPro. "<br>";
  10. }
  11. protected function fatherProtectPut(){
  12. echo $this->pubPro. "<br>";
  13. echo $this->protecPro. "<br>";
  14. echo $this->priPro. "<br>";
  15. }
  16. private function fatherPrivatePut(){
  17. echo $this->pubPro. "<br>";
  18. echo $this->protecPro. "<br>";
  19. echo $this->priPro. "<br>";
  20. }
  21. }
  22. class Son extends Father {
  23. public function SonSlfPut(){
  24. echo $this->pubPro. "<br>";
  25. echo $this->protecPro. "<br>";
  26. echo $this->priPro. "<br>";
  27. }
  28. }
  29. $father = new Father();
  30. echo $father->pubPro;
  31. echo '<br>';
  32. //echo $father->protecPro;//报错,受保护的属性外部无法直接访问
  33. //echo $father->priPro;//报错,私有属性外部无法访问
  34. $father->fatherPublicPut();
  35. echo '<br>';
  36. //$father->fatherProtectPut();//报错,受保护的方法外部无法直接访问
  37. //$father->fatherPrivatePut();//报错,私有方法外部无法访问
  38. echo '<br>';
  39. $son = new Son();
  40. echo $son->pubPro;
  41. echo '<br>';
  42. //echo $son->protecPro;//报错,受保护的属性外部无法直接访问
  43. //echo $son->priPro;//报错,私有属性外部无法访问
  44. $son->fatherPublicPut();
  45. echo '<br>';
  46. //$son->fatherProtectPut();//报错,受保护的方法外部无法直接访问
  47. //$son->fatherPrivatePut();//报错,私有方法外部无法访问
  48. ?>

二、jqAjax请求

描述:ajax全称是Asynchronous Javascript And XML是一种前后台数据交互的手段。

说明:

    原生的ajax实现比较麻烦,需要借助xmlhttprequest对象来构建

    而今天我们实现的是jQuery已经封装好的现成方法。

 说明:

    (1)get无参请求:一般用来向后台获取数据使用,不会发送给后台内容。

    (2)get有参请求:一般像贴吧、社区等需要根据页码或者指定的属性来获取数据使用,这种情况下参数一般都比较小。

    (3)post请求:一般用于登陆、注册等保密性高的地方。

例子:

公共部分:

 <script src="js/jquery-1.12.3.min.js"></script>

  
  1. <span>用户名: </span> <input type="text" class="username" /> <br>
  2. <span>密码: </span> <input type="text" class="password" /> <br>
  3. <button>get无参请求 </button>
  4. <button>get有参请求 </button>
  5. <button>post请求 </button>

  
  1. <script>
  2. //获取元素
  3. var $usernameInput = $( '.username');
  4. var $passwordInput = $( '.password');
  5. var $btns = $( 'button');
  6. //get无参请求:
  7. $btns.eq( 0).click( function() {
  8. $.ajax({
  9. //请求方式为get
  10. type: 'get',
  11. //指明请求要发送到的php后台地址
  12. url: '10jqAjax.php',
  13. //交互的数据格式为json
  14. dataType: 'json',
  15. //当后台返回数据时,本函数自动执行,用来获取后台返回的具体数据内容
  16. success: function(res) {
  17. console.log(res);
  18. console.log(res.info);
  19. }
  20. });
  21. });
  22. //get有参请求
  23. $btns.eq( 1).click( function() {
  24. $.ajax({
  25. //请求方式为get
  26. type: 'get',
  27. //指明请求要发送到的php后台地址
  28. url: '10jqAjax.php?username=' + $usernameInput.val() + "&password=" + $passwordInput.val(),
  29. //交互的数据格式为json
  30. dataType: 'json',
  31. //当后台返回数据时,本函数自动执行,用来获取后台返回的具体数据内容
  32. success: function(res) {
  33. console.log(res);
  34. console.log(res.info);
  35. }
  36. });
  37. });
  38. //post请求
  39. $btns.eq( 2).click( function() {
  40. $.ajax({
  41. //请求方式为post
  42. type: 'post',
  43. //指明请求要发送到的php后台地址
  44. url: '10jqAjax.php',
  45. data: {
  46. uname: $usernameInput.val(),
  47. upass: $passwordInput.val()
  48. },
  49. //交互的数据格式为json
  50. dataType: 'json',
  51. //当后台返回数据时,本函数自动执行,用来获取后台返回的具体数据内容
  52. success: function(res) {
  53. console.log(res);
  54. console.log(res.info);
  55. }
  56. });
  57. });
  58. </script>

get无参请求:


  
  1. <?php
  2. /*
  3. (1)$_GET这个内置对象,表示接收的前端发送过来的get请求数据包
  4. (2)$_POST这个内置对象,表示接收的前端发送过来的post请求数据包
  5. (3)echo 代表返回前端指定数据
  6. (4)json_encode(对象),来将数组或对象等复杂值转换成json
  7. */
  8. //get无参请求
  9. //php中构建数组结构
  10. $successArr= array( 'msg'=> 'ok', 'info'=> 'my tel is 1763449xxx');
  11. //通过echo和json_encode()方法将这个数组转换成json,并返回到前端
  12. echo json_encode($successArr);
  13. ?>

get有参请求:


  
  1. <?php
  2. /*
  3. (1)$_GET这个内置对象,表示接收的前端发送过来的get请求数据包
  4. (2)$_POST这个内置对象,表示接收的前端发送过来的post请求数据包
  5. (3)echo 代表返回前端指定数据
  6. (4)json_encode(对象),来将数组或对象等复杂值转换成json
  7. */
  8. //get有参请求
  9. //php中构建数组结构
  10. $successArr= array( 'msg'=> 'ok', 'info'=>$_GET);
  11. //通过echo和json_encode()方法将这个数组转换成json,并返回到前端
  12. echo json_encode($successArr);
  13. ?>

post请求:


  
  1. <?php
  2. /*
  3. (1)$_GET这个内置对象,表示接收的前端发送过来的get请求数据包
  4. (2)$_POST这个内置对象,表示接收的前端发送过来的post请求数据包
  5. (3)echo 代表返回前端指定数据
  6. (4)json_encode(对象),来将数组或对象等复杂值转换成json
  7. */
  8. //post请求
  9. //php中构建数组结构
  10. $successArr= array( 'msg'=> 'ok', 'info'=>$_POST);
  11. //通过echo和json_encode()方法将这个数组转换成json,并返回到前端
  12. echo json_encode($successArr);
  13. ?>


转载:https://blog.csdn.net/weixin_43285360/article/details/116785977
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场