初级项目实践高手跳过一步一步实现一个项目希望大家支持
时间:2008-03-01
来源:互联网
这个项目叫婚庆信息平台,也采用web2.0方式的,所谓的web2.0就是用户不再只是被动的网页浏览者,他们既是网站浏览者,也是网站内容的制造者。在加上web 2.0网站采用AJAX技术异步加载数据,极大改善用户体验和节省了宝贵的网络资源,因此,未来的互联网趋势必然是web 2.0。
这个项目总共分为以下频道:
婚纱摄影,婚礼婚庆,喜宴餐厅,彩妆美容,家俱装饰,婚前体检,蜜月旅游
网站基本功能:
1、用户不用注册可浏览所有的信息,也可以发布留言,也可以评论,但不可以发布信息,发布信息必须要注册用户.
2、企业用户可以注册信息后,发布信息,从而拥有自己的一个信息平台,也可以管理自己发布的信息,也可以查看用户对自己的留言等。
3、管理员在后台可以发布新闻,也可以发布信息,也可以选择让某一条信息置顶显示。
此平台的用途:
首先是证明一下自己找一个工作,接下来就是方便和大家交流来提高技术,其次是给大家提供一个信息平台,供大家使用。
所用技术:
页面布局用div+css html
模板技术用smarty
编程语言:php+mysql考虑到某些原因我就不用框架了
用户验证部分用: ajax来实现吧
开发工具:
zendstudio dreamver
业务需求分析:
1、用户模块:
任何个人可以代表单位注册用户,填入相关信息就可以拥有一个账号。注册后就有权利发布信息,并且拥有个人主页,以及个人的管理平台.但是要管理员审核才能显示,游客可以浏览,查询信息,也可评论。
2、发布信息模块:
注册用户,可以发布信息,选择相就的类别,也就是本项目所说的频道。
即可发布文字信息,也可发布图片
3.留言管理模块和评论管理
注册用户可以加复别人给他的留言,也可以删除别人不好的留言和评论。
以上两个就是前台的uml图,后台马上送上。
[ 本帖最后由 heixiake 于 2008-3-1 12:07 编辑 ]
作者: heixiake 发布时间: 2008-02-29
Jh_user 用户表 |
|||
userid |
mediumint (18) |
主键非空 |
用户ID |
username |
char(15) |
非空 |
用户名 |
password |
char(32) |
非空 |
用户密码 |
regdate |
date |
非空 |
注册日期 |
regip |
char(15) |
非空 |
注册ip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jh_classid 类别表 |
|||
id |
int(11) |
主键非空 |
类别ID |
classname |
Varchar(10) |
非空 |
类别名 |
|
|
|
|
|
|
|
|
|
|
|
|
Jh_new 信息表 |
|||
newid |
mediumint (18) |
主键非空 |
信息ID |
title |
char(15) |
非空 |
标题 |
classid |
char(32) |
非空 |
类别id |
content |
date |
非空 |
信息内容 |
date |
char(15) |
非空 |
注册日期 |
hit |
Int(15) |
非空 |
点击数 |
status |
Int(2) |
非空 |
1,显示,0关闭 |
|
|
|
|
|
|
|
|
Jh_comment 信息评论表 |
|||
commentid |
mediumint (18) |
主键非空 |
评论id |
newid |
char(15) |
非空 |
信息的id |
content |
char(32) |
非空 |
评论内容 |
name |
char |
非空 |
评论人 |
date |
date( |
非空 |
评论日期 |
|
|
|
|
|
|
|
|
Jh_guest 留言表 |
|||
guestid |
mediumint (18) |
主键非空 |
留言ID |
userid |
char(15) |
非空 |
给哪个用户留言的id |
content |
char(32) |
非空 |
留言内容 |
name |
Char(10) |
非空 |
留言人 |
date |
date |
非空 |
留言日期 |
ip |
Char(15) |
非空 |
留言ip |
|
|
|
|
表之间的关键就不用说了吧,可能之间的关联有些不能达到最佳效果。如果有想知道的,继续跟贴.
现在考虑整个的实现方式,计划打算采用mvc方式,m是业务逻辑,c是控制器,v是页面显示采用smarty来实现。
现在说一下mvc,比如一个地址是 http:www.xxx.com/index.php?c=news&;a=view&id=3.
这个页面就交给index.php页面处理,在此页面写一个分析器也就是一个路由来分析以上的地址,从尔调用控制器news,来实例化一个对象new s,继续调用$news->view()方法,由id传入给它从而得到这个信息内容。不知道我说的对不对,如有不对,请大家跟贴说一声,接下来我把本项目的目录列表弄一下,传上来。还有就是文件目录:
PHP代码:
[/font][font=Times New Roman]-- phpMyAdmin SQL Dump
-- version 2.11.1
-- [url=http://www.phpmyadmin.net/]http://www.phpmyadmin.net[/url]
--
-- 主机: localhost
-- 生成日期: 2008 年 03 月 01 日 08:12
-- 服务器版本: 5.0.45
-- PHP 版本: 5.2.4[/font]
[font=Times New Roman]SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";[/font]
[font=Times New Roman]--
-- 数据库: `jhlbbs`
--[/font]
[font=Times New Roman]-- --------------------------------------------------------[/font]
[font=Times New Roman]--
-- 表的结构 `jh_address`
--[/font]
[font=Times New Roman]CREATE TABLE `jh_address` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(15) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;[/font]
[font=Times New Roman]--
-- 导出表中的数据 `jh_address`
--[/font]
[font=Times New Roman]
-- --------------------------------------------------------
--
-- 表的结构 `jh_class`
--
CREATE TABLE `jh_class` (
`id` int(11) NOT NULL auto_increment,
`classname` varchar(12) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=8 ;
--
-- 导出表中的数据 `jh_class`
--
INSERT INTO `jh_class` (`id`, `classname`) VALUES
(1, '婚纱摄影'),
(2, '婚礼婚庆'),
(3, '喜宴餐厅'),
(4, '彩妆美容'),
(5, '家俱装饰'),
(6, '婚前体检'),
(7, '蜜月旅游');
-- --------------------------------------------------------
--
-- 表的结构 `jh_comment`
--
CREATE TABLE `jh_comment` (
`id` int(10) NOT NULL,
`messageid` int(10) NOT NULL,
`content` text collate latin1_general_ci NOT NULL,
`ip` varchar(15) collate latin1_general_ci NOT NULL,
`date` date NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- 导出表中的数据 `jh_comment`
--
-- --------------------------------------------------------
--
-- 表的结构 `jh_guess`
--
CREATE TABLE `jh_guess` (
`id` int(12) NOT NULL auto_increment,
`userid` int(12) NOT NULL,
`content` text collate latin1_general_ci NOT NULL,
`date` date NOT NULL,
`ip` varchar(15) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
--
-- 导出表中的数据 `jh_guess`
--
-- --------------------------------------------------------
--
-- 表的结构 `jh_message`
--
CREATE TABLE `jh_message` (
`id` int(10) NOT NULL auto_increment,
`classid` int(10) NOT NULL,
`title` varchar(25) collate latin1_general_ci NOT NULL,
`content` text collate latin1_general_ci NOT NULL,
`hit` int(12) NOT NULL,
`date` date NOT NULL,
`status` int(2) NOT NULL,
`addressid` int(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
--
-- 导出表中的数据 `jh_message`
--
-- --------------------------------------------------------
--
-- 表的结构 `jh_revert`
--
CREATE TABLE `jh_revert` (
`id` int(10) NOT NULL auto_increment,
`guessesid` int(10) NOT NULL,
`content` text collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
--
-- 导出表中的数据 `jh_revert`
--
-- --------------------------------------------------------
--
-- 表的结构 `jh_user`
--
CREATE TABLE `jh_user` (
`userid` mediumint(18) NOT NULL,
`username` varchar(12) character set utf8 NOT NULL,
`password` varchar(12) character set utf8 NOT NULL,
`regdate` date NOT NULL,
`regid` varchar(15) character set utf8 NOT NULL,
`email` varchar(15) character set utf8 NOT NULL,
PRIMARY KEY (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- 导出表中的数据 `jh_user`
--
[/font]
[font=Times New Roman]
这下数据结构基本也就定下来了,接下来就做页面了,由于美工的问题,我就做一下大概的页面,只要能显示出来就行了。下午把页面弄出来,晚上写程序,看这两天能不能写好呢
我这下有个见意就是我想弄一个简单的框架,也不能叫框架,就是方面我开发,采用mvc方式,不想弄php+html混合在一起的代码,所以大家有什么意见就发了来吧,目前是这样想的,有一个路由器类,还有注册器类,还有一个相关操作的curd操作类。路由器会根据地址的路径执行相关的操作.
[ 本帖最后由 heixiake 于 2008-3-2 13:43 编辑 ]
作者: PHPChina 发布时间: 2008-02-29
2008-3-9
弄了一个简单的框架,也不能说是框架只能说是一些简单函数的封装,为了调用方便,以后的扩展,原理是获取文件路径判断$_get或$_post中的action 和model来执行相应的功能代码,来调用相应的view.
各位phper及phpchina管理员,由于最近在忙于找工作,所以没有更新,大家放心,有什么意见跟帖,我会把这个弄完的
继续我的项目之路,现在考虑的越来越多了,前台是div+css,smarty模板也就是所谓的V层,数据层是mysql,封装了一个mysql操作的类,简单起见就不用数据关系映象了,这个也就是所谓的M层,所有的业务逻辑处理都是继续这个类的,再接下不就是C层了,控制器,里面有方法来调用相应的M以及V,再写一个分析器分析$_get(如index.php?c=use&&a=addUser)得到控制器是use-->addUser();调用相应的程序就行了,这是基本的思路.肯定会有一个入口文件,初始化的,
[ 本帖最后由 heixiake 于 2008-3-17 23:02 编辑 ]
作者: PHPChina 发布时间: 2008-02-29

作者: heixiake 发布时间: 2008-02-29

作者: heixiake 发布时间: 2008-02-29

作者: heixiake 发布时间: 2008-02-29
作者: heixiake 发布时间: 2008-02-29

作者: heixiake 发布时间: 2008-02-29

作者: ipengjun 发布时间: 2008-02-29

作者: heixiake 发布时间: 2008-03-01
作者: dzjzmj 发布时间: 2008-03-01
大家切记不要一味索取, 在有余力的情况下做点贡献哈!
作者: chyoqin 发布时间: 2008-03-02

作者: fgpgy 发布时间: 2008-03-02


作者: zwws 发布时间: 2008-03-02
[ 本帖最后由 heixiake 于 2008-3-4 03:28 编辑 ]
作者: sailing2k 发布时间: 2008-03-04
作者: luzhou 发布时间: 2008-03-04



作者: heixiake 发布时间: 2008-03-04

作者: lucas1860 发布时间: 2008-03-04
作者: jyb21 发布时间: 2008-03-04

作者: jyb21 发布时间: 2008-03-04
作者: twotimes 发布时间: 2008-03-04
作者: linvo 发布时间: 2008-03-04

作者: riechie 发布时间: 2008-03-05



作者: heixiake 发布时间: 2008-03-05
期待中!~~~~~~~
作者: 小树叶子 发布时间: 2008-03-05


作者: diego 发布时间: 2008-03-05
作者: LICCAJING 发布时间: 2008-03-05

作者: woyouu 发布时间: 2008-03-05
作者: ct_174880859 发布时间: 2008-03-05
引用:
原帖由 小树叶子 于 2008-3-5 06:39 发表uml图是那样的?好像概念不对吧

作者: bkkkd 发布时间: 2008-03-06

作者: nyu16 发布时间: 2008-03-06
作者: 57213763 发布时间: 2008-03-06
我觉得web2.0 在中国已经搞到头了
[ 本帖最后由 likai321 于 2008-3-6 23:32 编辑 ]
作者: heixiake 发布时间: 2008-03-06
作者: cmttp 发布时间: 2008-03-06
[ 本帖最后由 xiaohan522 于 2008-3-7 15:09 编辑 ]
作者: heixiake 发布时间: 2008-03-07

作者: likai321 发布时间: 2008-03-07
作者: lycoo 发布时间: 2008-03-07
做项目才能做出功力来
作者: xiaohan522 发布时间: 2008-03-16


作者: lzq111988 发布时间: 2008-03-16



作者: zl8762385 发布时间: 2008-03-21
作者: TTdodo 发布时间: 2008-04-11
作者: lxydyx 发布时间: 2008-04-12
作者: yoyorose 发布时间: 2008-05-03
作者: 清竹�w翔 发布时间: 2008-05-03

作者: licrazy 发布时间: 2008-05-05
作者: luzhou 发布时间: 2008-05-05

作者: Fandt 发布时间: 2008-05-07

作者: gongchengjun 发布时间: 2008-05-09
作者: heixiake 发布时间: 2008-05-09
我想给楼主一个建议:
不要把太多精力花在代码实现上。因为调用几个函数,封装一些类,用mvc,ajax,大家都会做的,一通百通。相信写这个贴花了你不少时间。但这些都只是表象,很肤浅。
我觉得你应该关注于:
1、从程序的效率上来说,你需要分析一下你这个系统,性能瓶颈可能会在几个点,应该如何解决?
2、从系统需求来说,你这个系统能承受多大的负载,在什么架构或者环境下实现?为什么要才用这种架构?包括硬件和软件两方面。
3、从推广和运营的角度,系统如何设计?如何优化?
这样你能深层次的思考一些问题:)相信会有大的提高。当然,有很多东西,只有在实践中才能碰到,自己一个人琢磨并不是好方法。
作者: woody3221 发布时间: 2008-05-09
1、假设同时有很多人请求一个php页面,或者说同时有很多人查看同一条婚庆信息,怎么处理?
2、如果业务需求每个类别都有属于自己的不同类别属性,该如何设计程序和db结构?才能方便的扩展?
3、如果注册用户过多,达到千万级,造成取用户信息非常缓慢,怎么处理?
4、这个项目做好以后,如何有效推广?
作者: tiantang_88 发布时间: 2008-05-09

作者: 125231896 发布时间: 2008-05-09



作者: bingofei 发布时间: 2008-05-11
作者: bingofei 发布时间: 2008-05-12
作者: richardhc 发布时间: 2008-05-13
作者: bingquan3846 发布时间: 2008-05-22
作者: wydycrtd 发布时间: 2008-05-23

写得好~
作者: qiaogqiang 发布时间: 2008-05-23
引用:
原帖由 bingofei 于 2008-5-9 17:48 发表这些我想实现起来都没什么太大问题吧。
我想给楼主一个建议:
不要把太多精力花在代码实现上。因为调用几个函数,封装一些类,用mvc,ajax,大家都会做的,一通百通。相信写这个贴花了你不少时间。但这些都只是表 ...
作者: evilwind 发布时间: 2008-06-09

作者: heixiake 发布时间: 2008-06-09
作者: 追风1 发布时间: 2008-06-10
作者: windpk1314 发布时间: 2008-06-12
作者: onesec 发布时间: 2008-06-13

作者: wz_910 发布时间: 2008-06-21
作者: yuanjing_119 发布时间: 2008-07-08
作者: gongzhoulun2008 发布时间: 2008-07-08


作者: 奇将射天狼 发布时间: 2008-07-13



作者: luzhou 发布时间: 2008-07-21
作者: flydaqin 发布时间: 2008-07-23

作者: justforphp 发布时间: 2008-07-23
作者: leidong8 发布时间: 2008-07-29


作者: qianziai0912 发布时间: 2008-08-06
作者: 瘦子 发布时间: 2008-08-12


作者: TTdodo 发布时间: 2008-08-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28