很多站长朋友们都不太清楚php的web案例,今天小编就来给大家整理php的web案例,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 找朋友帮忙弄了个PHPWEB网站,后台修改数据时这个经典案例管理栏目一直点不开,这是咋回事? 2、 为什么说PHP是首选的Web开发语言 3、 C#使用PHP服务端的Web Service通信实例 找朋友帮忙弄了个PHPWEB网站,后台修改数据时这个经典案例管理栏目一直点不开,这是咋回事?PHPWEB的程序还是很补错的,先看看前台是不是有经典案例的模块如果没有的话需要在后台排版那把模块加到首页然后就能进入设置栏目了
为什么说PHP是首选的Web开发语言作者:2gua
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. PHP是为Web而生的,天然与HTML、JavaScript有亲近感,也就是原生味儿十足。即使是PHP与HTML代码混杂,从某种角度而言,也能帮助初学者直观地了解Web技术机理,坏事有时候也是好事。另一方面,开源PHP的C风格、Unix/Linux范儿让其在Apache、Nginx等Web应用服务器上表现优异。总之,PHP与Web是浑然天成的结合方式。
2. 要掌握PHP,我建议从备受诟病的“代码凌乱”编程风格 -- 或许是从PHP与HTML混合编程开始,待直观了解Web开发技术之后,再考虑代码组织和结构的重构,这样有助于自己以更加原生的方式掌握Web的秘密。那么,什么是更加原生的方式呢?随手举个例子:典型的404状态码。
用PHP的实现(404.php、404.html):
<?php
header("HTTP/1.1 404 Not Found");
include("404.html");
exit;
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
</head>
<body>
<p>404页面。</p>
</body>
</html>
再看看如 MVC中的实现:
public ActionResult Details(int id)
{
return HttpNotFound();
}
虽然封装得很好,但是,跟PHP方式比较就知道, MVC中的实现确实比较抽象不够直观,而且是在控制器里直接定义和跳转的。在PHP中,显而易见,一下就明白了代码中header的含义:HTTP-Version、Status-Code、Reason-Phrase。
顺带说说Rails中的处理方式,抽象程度也很高:
render :template => '......', :status => 404
3. 与PHP类似的还有JSP,但JSP往往需要与JEE其他技术模块相配合使用,体系足够庞大,需要有长期准备。其他如 MVC、Rails等框架的抽象度较高,也不建议作为首选。
4. 不得不提Node.js,Node.js是目前很火的技术,号称“全栈”的希望所在,常拿来跟PHP争论比较:什么并发、线程、进程等等。在这里无意评论孰优孰劣,但至少PHP可以让你多掌握一门技术,而不止是JavaScript。此外,PHP的大型业务的成熟应用案例可是比比皆是吖。
5. 那么,是不是该一直坚持指哪打哪的“代码凌乱”方式呢?当然不应该。PHP提供的OOP特性足够强大,在技能与理解程度达到一定高度时,完全可以以OOP的方式来组织代码。在PHP领域,各种框架非常多,比如Laravel、CI、FuelPHP、Yii、Symfony、Zend Framework等等,届时随便选一个都可以进行规范化开发。“代码凌乱”关键不在于工具本身,而在于人自己!要知道用Java也能写出烂代码。
6. PHP的资料非常丰富。
7. 最后,有一个稍稍题外话的看法,早前我还觉得在RESTful方式不断普及下,由于RESTful Web Services使用标准的 HTTP 方法(GET/PUT/POST/DELETE)来抽象Web服务能力,服务端的重点将移至MC,而服务端视图模版的应用会减少,客户端的支撑需求会越来越多。比如各种前端库、框架将得到快速推进,越来越多的需求处理会前置到前端来处理。但现在我感觉这种状态考虑得太过理想了,就像数据频繁大量更迭及处理的场景,更适合服务端(如模版引擎)完成;再具体地,又如大数据量的分页,如果都在浏览器中实现,性能就一定会有很大问题。此外,频繁Ajax调用、客户端缓存机制的缺失,也将引起种种问题,再进一步来看,单页面应用(SPA)也就并非适合每一个业务场景,服务端视图模版还是有比较多的适用领域的。
C#使用PHP服务端的Web Service通信实例这篇文章主要介绍了C#使用PHP服务端的Web
Service通信实例,需要的朋友可以参考下
注:本例中构建Web
Service采用SOAP方式,通过php插件NuSoap来搭建SOAP服务器。
代码如下:
<?
require_once("lib/nusoap.php");
//调用NuSoap
$server
=
new
soap_server();
//创建soap服务端
$server->configureWSDL("login_service");
//配置WSDL
$namespace
=
"";
$server->wsdl->schemaTargetNamespace
=
$namespace;
//设置wsdl命名空间为
$server->register(
//
注册Web服务
'login_verifiy',
//定义名称
array('name'=>'xsd:string','pw'=>'xsd:string'),
//接受参数
array('return'=>'xsd:string'),
//返回
$namespace,
//命名空间
false,
//
soapaction:默认
'rpc',
//
类型:
rpc
or
document
'encoded',
//
参数:encoded(编码)或
literal(文字)
'A
web
method
of
login'
//描述
);
$POST_DATA
=
isset($GLOBALS['HTTP_RAW_POST_DATA'])?
$GLOBALS['HTTP_RAW_POST_DATA']
:
'';
$server->service($POST_DATA);
//将提交的数据传递给soap服务
function
login_verifiy($user,$pw)
{
//服务执行内容,本示例中为显示输入的帐号密码
return
'user:'.$user.'
password:'.$pw);
}
?>
C#客户端调用:
代码如下:
[DllImport("kernel32")]
//调用api函数读ini文件。返回值为字符串缓冲区的长度
private
static
extern
long
GetPrivateProfileString(string
section,
string
key,
string
def,
StringBuilder
retVal,
int
size,
string
filePath);
private
void
Form1_Load(object
sender,
EventArgs
e)
{
StringBuilder
temp
=
new
StringBuilder(256);
GetPrivateProfileString("system",
"url",
null,
temp,
256,
System.IO.Directory.GetCurrentDirectory()+"config.ini");
//通过读取config.ini配置文件(结构见附加内容)来获取webservice
url
Program.server_url
=
temp.ToString();
//Program.cs中的全局变量server_url用以储存webservice
url
}
private
void
button1_Click(object
sender,
EventArgs
e)
{
WebReference.login_service
l
=
new
WebReference.login_service();
string
s=l.login_verifiy(username.Text,
password.Text);
MessageBox.Show(s);
}
附config.ini内容:
代码如下:
[system]
url=
关于php的web案例的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php的web案例 php web程序设计与项目案例开发微课版的详细内容...