Re: [問題] function接收變數

看板Ajax作者 (花花小蛋糕)時間9年前 (2014/11/13 09:56), 9年前編輯推噓1(1027)
留言28則, 2人參與, 最新討論串2/3 (看更多)
: 推 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://www.ptt.cc/bbs/Ajax/M.1415843811.A.178.html ※ 編輯: meteorsok (114.32.8.201), 11/13/2014 09:59:53

11/13 11:44, , 1F
well..我贊成你的意見,而且事實上就這個例子來說的確
11/13 11:44, 1F

11/13 11:45, , 2F
沒有超出把 php 當成 template language 來使用的適合
11/13 11:45, 2F

11/13 11:46, , 3F
範疇。只是我寫的經驗是,PHP 同時可以作為撰寫邏輯的
11/13 11:46, 3F

11/13 11:47, , 4F
程式語言及和 HTML 混雜的 template 語言本身就對新手
11/13 11:47, 4F

11/13 11:49, , 5F
造成一些 web programming 基礎的 confusion
11/13 11:49, 5F

11/13 11:50, , 6F
要記得 PHP 這個嵌入的語言並不是網頁程式原本就有的樣
11/13 11:50, 6F

11/13 11:54, , 7F
子,從以前俗稱寫 CGI 的 C++ 到現在的 Python、Ruby都
11/13 11:54, 7F

11/13 11:56, , 8F
是 general purpose language 拿來寫 web,所以他們的
11/13 11:56, 8F

11/13 11:57, , 9F
framework 都會明確的說出自己在原本語言上建構了哪些
11/13 11:57, 9F

11/13 11:59, , 10F
適合語言的模型。就算不用 framework,處理 HTTP req
11/13 11:59, 10F

11/13 11:59, , 11F
久了也會自己出現像是用 string + variable 這種
11/13 11:59, 11F

11/13 12:00, , 12F
"template" 方式。沒錯,並不是一定要有 template
11/13 12:00, 12F

11/13 12:00, , 13F
language 才叫做 template XD...
11/13 12:00, 13F

11/13 12:02, , 14F
不過就算如此,和你說的一樣這也只是把資料嵌入的概念
11/13 12:02, 14F

11/13 12:04, , 15F
差別在於,PHP 讓你誤以為 template 是 "另一種方式",
11/13 12:04, 15F

11/13 12:06, , 16F
從而讓你習慣把資料、邏輯、presentation 混雜在一起。
11/13 12:06, 16F

11/13 12:23, , 17F
如果沒有意識到 PHP 作為 template language 和
11/13 12:23, 17F

11/13 12:23, , 18F
programming language 的職責區分,很容易有這種情況。
11/13 12:23, 18F

11/13 12:27, , 19F
而且 PHP 作為 template language 本身有些缺陷,像是
11/13 12:27, 19F

11/13 12:27, , 20F
語法太繁瑣、缺少(或需要特殊技巧)template language
11/13 12:27, 20F

11/13 12:30, , 21F
的一些 feature (ex: inheritance)。既然本來就不是原
11/13 12:30, 21F

11/13 12:31, , 22F
生的寫作網頁方式,加個 lib 讓她更好不為過吧XD
11/13 12:31, 22F

11/13 12:32, , 23F
最後要提的一點是,ajax 跟 framework 沒什麼關係,
11/13 12:32, 23F

11/13 12:36, , 24F
XHR 是標準的東西~
11/13 12:36, 24F

11/13 12:37, , 25F
簡而言之,就「我的觀點」,PHP 自己加的這層反而容易
11/13 12:37, 25F

11/13 12:38, , 26F
讓新手搞混網頁程式的一些基本的東西。
11/13 12:38, 26F

11/13 16:58, , 27F
用 template 語言寫出來的 template 引擎寫另外一套 temp
11/13 16:58, 27F

11/13 16:58, , 28F
late 這就是 PHP XD
11/13 16:58, 28F
文章代碼(AID): #1KP0_Z5u (Ajax)
文章代碼(AID): #1KP0_Z5u (Ajax)