作者meteorsok (花花小蛋糕)
看板Ajax
标题Re: [问题] function接收变数
时间Thu Nov 13 09:56:49 2014
: 推 meteorsok: <input onclick="func('<?php echo $text; ?>')" /> 11/12 15:00
: → oppositebank: 原来echo放这! 感谢楼上 11/13 02:16
: → carylorrk: 这种 code 维护大概会很头痛吧。 11/13 03:19
的确会头痛
但这个答案对新手来说,可以了解php最基本嵌入网页的方式
当然有其他解法,但除了ajax call api 取得参数以外
我想都逃离不了这种嵌入的概念
原问题:想要将一个php变数当成button的参数使用,应该都是以下几种方式
1. 我的推文
2. 改放在attr,function 带 this 去拿
3. 另外放在js变数,用js来产生元素时带入
4 ajax call api拿参数
1~3几乎都是一样的概念,只是嵌入的位置不同
或许可以用一些framework的helper来美化
<?php echo Helper::button($text, array("some_attr"=>$value)); ?>
或者用template engine来跑
<button some_attr="{% value %}"></button>
好看,但原理一样
即使用js template 来产生元素
还是要用嵌入的方式给js吃点东西
当然可以用第四种ajax call api拿
这种就真的可以达到前後端分离了
最後
如果一个新手直接学framework (js: jquery , php: laravel)
而不了解基本的东西
我想并不是一件好事情
如果我有什麽误解,希望可以有高手来指正
我也想学习
感恩~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.8.201
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1415843811.A.178.html
※ 编辑: meteorsok (114.32.8.201), 11/13/2014 09:59:53
1F:→ carylorrk: well..我赞成你的意见,而且事实上就这个例子来说的确 11/13 11:44
2F:→ carylorrk: 没有超出把 php 当成 template language 来使用的适合 11/13 11:45
3F:→ carylorrk: 范畴。只是我写的经验是,PHP 同时可以作为撰写逻辑的 11/13 11:46
4F:→ carylorrk: 程式语言及和 HTML 混杂的 template 语言本身就对新手 11/13 11:47
5F:→ carylorrk: 造成一些 web programming 基础的 confusion 11/13 11:49
6F:→ carylorrk: 要记得 PHP 这个嵌入的语言并不是网页程式原本就有的样 11/13 11:50
7F:→ carylorrk: 子,从以前俗称写 CGI 的 C++ 到现在的 Python、Ruby都 11/13 11:54
8F:→ carylorrk: 是 general purpose language 拿来写 web,所以他们的 11/13 11:56
9F:→ carylorrk: framework 都会明确的说出自己在原本语言上建构了哪些 11/13 11:57
10F:→ carylorrk: 适合语言的模型。就算不用 framework,处理 HTTP req 11/13 11:59
11F:→ carylorrk: 久了也会自己出现像是用 string + variable 这种 11/13 11:59
12F:→ carylorrk: "template" 方式。没错,并不是一定要有 template 11/13 12:00
13F:→ carylorrk: language 才叫做 template XD... 11/13 12:00
14F:→ carylorrk: 不过就算如此,和你说的一样这也只是把资料嵌入的概念 11/13 12:02
15F:→ carylorrk: 差别在於,PHP 让你误以为 template 是 "另一种方式", 11/13 12:04
16F:→ carylorrk: 从而让你习惯把资料、逻辑、presentation 混杂在一起。 11/13 12:06
17F:→ carylorrk: 如果没有意识到 PHP 作为 template language 和 11/13 12:23
18F:→ carylorrk: programming language 的职责区分,很容易有这种情况。 11/13 12:23
19F:→ carylorrk: 而且 PHP 作为 template language 本身有些缺陷,像是 11/13 12:27
20F:→ carylorrk: 语法太繁琐、缺少(或需要特殊技巧)template language 11/13 12:27
21F:→ carylorrk: 的一些 feature (ex: inheritance)。既然本来就不是原 11/13 12:30
22F:→ carylorrk: 生的写作网页方式,加个 lib 让她更好不为过吧XD 11/13 12:31
23F:→ carylorrk: 最後要提的一点是,ajax 跟 framework 没什麽关系, 11/13 12:32
24F:→ carylorrk: XHR 是标准的东西~ 11/13 12:36
25F:→ carylorrk: 简而言之,就「我的观点」,PHP 自己加的这层反而容易 11/13 12:37
26F:→ carylorrk: 让新手搞混网页程式的一些基本的东西。 11/13 12:38
27F:推 s25g5d4: 用 template 语言写出来的 template 引擎写另外一套 temp 11/13 16:58
28F:→ s25g5d4: late 这就是 PHP XD 11/13 16:58