【PHP开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了PHP开源代码-开源框架ThinkPHP开发SNS 毕业论文 - 开发文档的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
1 北京城市学院 应用技术学部
毕业论文 开源框架ThinkPHP开发SNS 专业
计算机网络技术无线网络 学号 姓名 指导教师姓名 职称 高级工程师 单位 完成
毕业设计论文的实践基地 完成时间自 2010 年 1 月至 2010 年 05 月
开源框架ThinkPHP开发SNS 2 【摘要】本文简单介绍SNS的事业前景和发展历史怎样以
开源框架的方式来快速的建立一个多用户互动的SNS平台包括界面设计后台设计以及数据库设计等。
ThinkPHP是一个性能卓越并且功能丰富的轻量级
PHP开发框架本身具有很多的
原创特性并且倡导大道至简开发由我的开发理念用最少的
代码完成更多的功能宗旨就是让WEB应用开发更简单、更快速。
这次设计的SNS充分的体现出了目前市面上最流行的一个开发模式MVC分层模式。
M模型的定义由Model类来完成。
VView类和模板文件组成模板做到了100分离可以独立预览和制作。
C用控制器核心控制器App类和Action控制器都承担了控制器的角色Action控制器完成业务过程控制而应用控制器负责调度控制。
此框架好处就是减少
代码的重复性以及因页面调用而导致的页面载入缓慢等严重
问题。
在整体结构上仿照了人人网模式基本完成大体的功能前台实现功能包括日志模块相册模块分享模块好友模块留言模块消息模块群组模块以及心情、礼物、切换地区模块。
后台实现的功能会员、日志、相册、前台模板的管理。
【关键词】SNS ThinkPHP MVC框架 3 目 录 引 言 .......................................................................................................................................... 4 一、 SNS简介............................................................................................................................ 4 1. 什么是SNS .................................................................................................................... 4 2. SNS的发展及现状 ........................................................................................................ 4 3. SNS的事业前景 ............................................................................................................ 5 二、 开发环境与框架介绍 ....................................................................................................... 5 1. 开发环境配置 ............................................................................................................... 5 2. 开发框架 ....................................................................................................................... 6 2.1框架介绍 .................................................................................................................... 6 2.2框架主要特性 ............................................................................................................ 6 2.3架构模式 .................................................................................................................... 7 三、 SNS功能介绍与实现........................................................................................................ 8 1. 项目介绍 ....................................................................................................................... 8 2. 项目
设计思路 ............................................................................................................... 8 3. 前台功能简单介绍 ....................................................................................................... 9 【基础功能】 ........................................................................................................... 9 【核心功能】 ........................................................................................................... 9 【其他基础功能】 ................................................................................................... 9 4. 后台功能详细介绍与功能实现 ................................................................................... 9 四、 结论................................................................................................................................. 13 参考文献 .................................................................................................................................... 13 4 引 言 美国著名社会心
理学家米尔格兰姆Stanley Milgram于20世纪60年代最先提出在人际脉络中要结识任何一位陌生的朋友这中间最多只要通过六个朋友就能达到目的。
就是说你想认识一个人托朋友找朋友找认识他的人之间不会超过六个人。
现实社会中人与人的交流是通过人与人之间的介绍、握手来形成一个朋友圈、联系圈的每个人不需要直接认识所有人只需要通过他的朋友朋友的朋友就能促成一次握手。
而普通的网络交际则大多数通过某些平台来实现比如将自己放到一个平台中去让很多人看到并且联系你认识你。
两者的优缺点明显社会性交际优点是可靠彼此关系建立在可靠的人际网络上缺点是产生握手的时间长、代价较高平台式的网络交际优点是成本低但不可靠。
一、 SNS简介 1.什么是SNS 依据六度理论以认识朋友的朋友为基础扩展自己的人脉。
并且无限扩张自己的人脉在需要的时候可以随时获取一点得到该人脉的帮助。
社会性网络Social Networking Services是指个人之间的关系网络这种基于社会网络关系系统思想的网站就是社会性网络网站SNS网站。
现在许多WEB2.0网站都属于SNS网站如
网络聊天、交友、视频分享、博客、播客、网络社区、音乐共享等。
社会性网络的理论基础源于六度理论和150法则。
2.SNS的发展及现状 SNS面向个人消费者是
免费的。
只面对战略结盟者收取少量软件准入许可费。
SNS进入市场的战略是结盟掠夺式和侵略性的。
社交网络服务提供商针对不同的群众有着不同的定位。
比如说最初的社交网站是用于交友例如美国的 Friendster Linkedin。
也有网站专门 5 为商务人士交友提供服务比如说中国的天极网德国的 OPENBC。
有些为商务人士提供的社交网站同时也兼具求职
招聘的功能如上面提到的 LinkedIn 和Xing。
华人地区的类似网站有位于美国的聚贤堂和 myDanwei。
不过盈利前景最大的网站还是婚恋交友网站。
LinkedIn 和 Xing 都已经拥有上百万用户盈利可观。
另外就是面向年轻人及大学生的SNS网站也比较受欢迎比如说美国的 Myspace就被默多克的新闻集团 高价收购。
针对美国大学生的社交网站 Facebook 在美国大学生中非常流行中国的模仿者校内网也被千橡互动公司收购后者是中国很具人气的网站猫扑的母公司。
3.SNS的事业前景 Facebook的成功使得更多
创业者加入到SNS领域中这些遍布各地SNS网站通过人际关系为纽带的关联形成了众多人脉聚合平台。
目前以Viadeo、天际网为代表的商务型实名制平台则可以看作是SNS应用中的又一提升阶段。
它们不但坚持采用实名机制对用户学习背景和
工作背景的真实度要求也非常高经过几年的沉淀后整体用户的层次普遍较高。
在这种SNS平台中那些想要真正拓展人脉、发展商业、有共同事业追求的用户通过此平台提供的可信任人际托管服务满足其拓展人脉网络的需求。
和之前SNS不同的是用户的黏性从一张靓丽的照片从一段精彩的介绍向真实的经历背景和学识背景这些可挖掘的价值性转化。
SNS在2003年就进入中国但由于多数网站过度追求用户数量而忽视了SNS信任圈的价值导致很多沦为普通交友网站。
这个时候SNS网站必须更加专注并不断利用自有特点成为区别于普通交友网站的实用工具才是正道。
二、 开发环境与框架介绍 1. 开发环境配置 6 WindowsApacheMySQLPHP一组常用来搭建动态网站或者服务器的
开源软件本身都是各自独立的程序但是因为常被放在一起使用拥有了越来越高的兼容度共同组成了一个强大的Web应用程序平台。
WAMP是基于WindowsApacheMySQL和
PHP的开放资源网络开发平台
PHP是一种有时候用Perl或Python可代替的编程语言。
这个术语来自欧洲在那里这些程序常用来作为一种标准开发环境。
名字来源于每个
程序的第一个字母。
每个程序在所有权里都符合开放源
代码标准Windows是开发系统Apache是最通用的网络服务器MySQL是带有基于网络管理附加工具的关系数据库
PHP是流行的对象脚本语言它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。
开发者在Linux操作系统下使用这些Linux环境里的工具称为使用LAMP。
2. 开发框架 2.1框架介绍 Think
PHP是一个快速、兼容而且简单的面向对象的轻量级WEB开发框架借鉴了
Java的Struts结构使用面向对象结构和M
VC模式并且模拟实现了Struts的标签库在
PHP4的兼容性方面表现不凡其模版引擎、缓存机制、认证机制和扩展性方面更是ThinkPHP的特色功能。
使用ThinkPHP你可以更方便和快捷的开发和部署应用当然不仅仅是企业级应用任何
PHP应用开发都可以从ThinkPHP的简单、兼容和快速的特性中受益。
2.2框架主要特性 ThinkPHP框架包含很多特性包括对OO-RDMS Mapping 、编码转换和UTF-8支持、XML模板引擎、动态数据缓存、多项目的支持以及对企业级开发和部署的支持。
并且在可维护性、安全性、可移值性以及可扩展性方面都有很好的表现。
只有在使用ThinkPHP进行项目开发过程中才能充分体会到ThinkPHP为您设计的更多特性和体贴之处其主要特性包括面向对象和MVC模式、自动编码转换、模板引擎、异常和错误处理 框架——ThinkPHP更是一个框架包含了官方基类库和
常用组件调用、 7 设计模式可以让你无需关注底层结构而专注于业务逻辑开发。
具体系统执行流程如下图 2.3架构模式 表现层包含模板视图、用户界面、JS、Flash等通过模板引擎的支持可以使用标签定义简化表现层的定义工作。
8 业务层包含业务接口层、业务逻辑层、实体层、数据访问层 Action控制器作为业务接口层提供
系统各种业务操作的入口。
因此不提倡在控制器类中写过多的业务逻辑
代码虽然说很难严格控制。
具体的业务逻辑应该封装到数据访问对象Dao类中实现如果觉得过于复杂还可以把子业务在Helper类中包装后统一调用。
业务处理过程一般会构造出业务实体对象对业务实体对象的存取通过数据访问层完成。
数据访问层把实体对象和数据库数据之间建立映射关系并且封装了通用的数据操作。
数据层目前支持的数据库有MySql、MsSql、PgSql、Oracle和Sqlite数据库的选用和业务逻辑没有关系。
三、 SNS功能介绍与实现 1. 项目介绍 此项目为实现多用户互动实现日志相册心情等前台多业务展示具有强大的前台展示功能以及简单后台维护功能。
2. 项目设计思路 用户通过登录社区主页进行登录或
注册转到主页社区的基本功能、核心功能以及用户互动设计流程图如下 9 3. 前台功能简单介绍 【基础功能】 1 首页: 好友动态、社区公告、其他 2 我的空间: 个人照片、个人基本信息个人动态、个人相册、留言、分享、群组和日志 3 好友: 我的好友、
搜索好友、邀请好友、寻找好友、随便看看 4 网络: 地区北京、上海等等 5 私信: 收件箱、发件箱、写私信 【核心功能】 1 心情迷你博客: 写心情、好友心情、我的心情 2 相册: 创建相册、上传照片、好友相册、我的相册、分享照片 3 日志: 发表日志、日志标签、好友日志、我的日志、分享日志 4 群组: 创建群组、加入群组、退出群组、管理群组 5 分享: 分享网址、日志、相册 6 意见: 留言板 【其他基础功能】 1 编辑: 基本信息、联系信息、兴趣爱好、教育信息、工作信息、上传头像 2 设置: 帐号设置。
3 隐私: 基本功能、扩展功能的隐私设置 4. 后台功能详细介绍与功能实现 1 网站基础配置 / 数据库 设定 / DB_TYPEmy
sql DB_HOSTlocalhost DB_NAME thinksns DB_USERroot DB_PWDroot DB_PORT3306 DB_PREFIXthink_ 10 DB_CHARSETutf8 / EMAIL 设置 / SMTP_HOST smtp.xiaoq.com SMTP_USER postmasterxiaoq.com SMTP_PASSWORD i2ne1wxdtf SMTP_SENDER www.xiaoq.com SMTP_SENDER_EMAIL postmaster xiaoq.com / 网站 设置 / SITE_HOST 127.0.0.1 SITE_NAME 小Q SITE_TITLE 小Q创世纪 SITE_DESCRIPTION SITE_OPEN 1 SECURE_CODE qds SITE_VERIFY 0 2 登录 管理员登陆http://www.domian.com/admin.phpdomian.com为网站地址后系统自动加载项目’THINK_PATH’并且加载框架入口文件APP_NAME APP_PATH系统跳转App-run进行应用程序初始化。
调用实现网页呈现。
具体用户
登陆判断如图表3-3-1实现 ../admin/lib/adction/PublicAction.class.
php //登录检测 public function checklogin secure_code
CSECURE_CODE userAccount isset_POSTaccount _POSTaccount : Cookie::getaccount userPasswordisset_POSTpassword md5secure_code.md5_POSTpass
word : Cookie::getsecurecode //验证用户信息 userDao DUser ifuserDao-CheckVerifythis-error验证码错误 useruserDao-findmapidnameemailsexpassword //user userDao-findAll 11 图表3-3-1 3 管理中心 管理员成功后系统跳转到管理首页系统显示今天最新的
会员日志等。
具体功能
代码如下实现 图表3-3-1 ../admin/lib/adction/IndexAction.class.
php function home //今日新会员会员日志群组帖子相册图片心情 count DUser-countid this-assignuserCountcount count DPhoto-countid this-assignphotoCountcount count DGroup-countid this-assigngroupCountcount count DThread-countid this-assignthreadCountcount count DBlog-countid this-assignblogCountcount count DMini-countid this-assignminiCountcount count DAlbum-countid this-assignalbumCountcount count DPhoto-countid this-assign
photoCountcount this-display 图表3-3-2 4 管理模块 管理模块有日志相册心情公告。
具体功能主要是编辑更新删除恢复具体
代码如图表3-3-3 function edit //编辑操作 model Dthis-name id _REQUESTid vo model-getByIdid this-assignvovo this-display function update //更新操作 model DBlog 12 iffalse vo model-create this-errormodel-getError id intval_POSTid ifmodel-savevoidid //成功提示 this-assignmessage更新成功 this-assignjumpUrl_POSTreturnList this-forward else //错误提示 this-error更新失败 .model-getError return public function delete//删除操作 //删除指定记录 model Dthis-name ifemptymodel id _REQUESTid ifissetid ifmodel-deleteid this-assignmessage删除成功 this-assignjumpUrlthis-getReturnUrl else this-error删除失败 else this-error非法操作 this-forward function resume //恢复操作 //恢复指定记录 model Dthis-name condition id IN ._GETid. ifmodel-resumecondition this-assignmessage状态恢复成功 this-assignjumpUrlthis-getReturnUrl 13 else this-assignerror 状态恢复失败 this-forward 图表3-3-3 5 后台其他功能 后台还有其他一些简单的类和调用比如upload、image类简单的调用了thinkphp框架中的各种类包进行使用。
四、 结论 在经过近两个月的探索性开发从一个
PHP门外汉到一个
PHP写手的过程中。
配置开发环境、设计数据库、模板的选择。
在过程中遇到过语法的常识性错误
代码的重复性。
在季老师的帮助下理解了类的用途把常用的函数封装到一个类中在需要的时候进行调用做到了
代码页简介使用。
经过多次试验最终选择了thinkphp这款入门级别的框架进行开发减少了大量的开发时间并且使得网站的功能得以实现以及扩充。
参考文献 1《大道PHPLAMPZend
开源框架整合开发与实战》 三扬科技 电子工业出版社