SNS基础
2016-04-28 20:59
369 查看
声明:由于本人确实需要这些信息,又担心原网站挂掉,导致我无法维护自己系统,因此复制这些,如有侵权,请告知。感谢系统相关人员:
网址:http://os.opensns.cn/book/index/read/id/2.html
基础
基础知识
1.相关
获取OpenSNS的方式很多,官方网站(http://www.opensns.cn/ )是最好的下载和文档获取来源。
官网提供了稳定版本的下载:http://www.opensns.cn/download.html
如果你希望保持最新的更新,可以通过github获取当前最新的版本(完整版)。
Git获取地址列表(你可以选择一个最快的地址):
Git git@OSChub: http://git.oschina.net/yhtt2020/OpenSNS-V2
OpenSNS基于这些出色的开源项目基础之上,排名不分先后,感谢作者的无私贡献。
前端及后端的UI框架 ZUI(Bootstrap的改进版本) less
PHP框架 (ThinkPHP)
2.开发环境的准备
系统要求:
PHP版本必须是5.3以上,因为框架使用到了namespace命名空间,5.2是不支持的。
Mysql版本5.0即可,一般虚拟空间和VPS搭建的都没有问题。
推荐集成环境:
1.Windows下强烈推荐使用phpstudy搭建集成环境,此外wamp也是不错的选择。编写代码则推荐使用PhpStorm,谁用谁知道~!
2.Linux下建议使用Lumanager,自带集成环境,可以方便地对网站进行管理。
1)PhpStorm破解方式
羞羞羞
安装完phpstudy与PhpStorm后开始安装系统
2)安装系统
下载所需版本的源码
解压文件到phpstudy的www目录下
将phpstudy启动
在浏览器中输入localhost
系统会自动定位到Install模块,开始安装程序。
根据安装向导开始安装程序
详细步骤见下方图解
3)常见问题集锦:
出现这类错误,一般是在安装的时候输入了错误的数据库信息。比如数据库的账号和密码
、
安装协议
环境监测
数据库及创始人信息填写
安装完成
3.PHP框架
openSNS是基于ThinkPHP框架
所以我们在开发过程之前先要对thinkphp进行一定程度的了解
开发者可以从thinkphp的开发手册(http://document.thinkphp.cn/manual_3_2.html)中详细了解其框架的机制与作用
4.CSS。JS框架
openSNS前端是基于zui框架和less框架完成的,
具体用法请参考zui官方站http://zui.sexy/#/与less官方中文站http://www.lesscss.net//
下面展示如何安装less在phpstorm上
1. 下载winless并安装
http://winless.org/
2. phpstorm- settings- file watchers –添加-less
3. 如图配置
Program :
C:\Program Files\Mark Lagendijk\WinLess\node_modules\.bin\lessc.cmd
Arguments :
"$FileDir$\$FileName$" "$FileDir$\$FileNameWithoutExtension$.css" --clean-css
不勾选 Create output file from stdout
Working directory:
$FileDir$
Output paths to refresh:
$FileDir$\$FileNameWithoutExtension$.css
5.版本控制
作为一个team中的一员,在共同开发一个项目的时候我们开发者是需要经常合作的,那么如何将两个或两个以上的程序员所编写的代码合并呢,我们就需要一个能够让我们合作开发的工具 ,我们选择了TortoiseGit 。
习惯 Tortoise 风格的用户,可以选择 TortoiseGit 安装包,安装后的右键截图安装。TortoiseGit 的下载地址为:http://code.google.com/p/tortoisegit/。
从 Windows 上安装“右键”Git 工具——TortoiseGit
网上tortoise git 的图文教程很多,开发者可以自行查阅。
让Git记住账号密码:
上图的setting(设置)中,编辑全局,加入两行代码,然后保存。
下次输入账号密码的时候,只需要输入一次,第二次就不需要再输入了。
6.重要知识点
1.常用机制:
1)配置项的获取
function modC($key, $default = '', $module = '')
此方法在Application/Common/Common/vendors.php中
* @param string $key 获取模块的配置
* @param string $default 默认值 必须项 后台设置后返回的是后台的值
* @param string $module 模块名,不设置用当前模块名
例
modC('WEIBO_NUM',140,'WEIBO')
返回
具体模块配置字段可从相应模块中的controller后台配置config方法中找出
例:
2)用户资料的获取
function query_user($fields = null, $uid = null)
* @param $fields array|string 如果是数组,则返回数组。如果不是数组,则返回对应的值
* @param null $uid
此方法在Application/Common/Common/user.php中
用例:
$k['user'] = query_user(array('uid', 'nickname', 'avatar32', 'avatar64', 'avatar128', 'avatar256', 'avatar512', 'space_url', 'icons_html', 'rank_link', 'signature', 'tox_money', 'title', 'weibocount', 'fans', 'following'), $k['uid']);
Query_user方法能返回member表中所有字段和ucenter_member中的所有字段
返回
3)消息机制
public function sendMessage($to_uids, $title = '您有新的消息', $content = '', $url = '', $url_args = array(), $from_uid = -1, $type = 0)
* @param $to_uids 接收消息的用户们
* @param string $title 消息标题
* @param string $content 消息内容
* @param string $url 消息指向的路径,U函数的第一个参数
* @param array $url_args 消息链接的参数,U函数的第二个参数
* @param int $from_uid 发送消息的用户
* @param int $type 消息类型,0系统,1用户,2应用
此方法在Application/common/Model/MessageModel.class.php中
例:
D('Common/Message')->sendMessage(C('USER_ADMINISTRATOR'), "{$user['nickname']}发布了一个活动,请到后台审核。", $title = '活动发布提醒', U('Admin/Event/verify'), is_login(), 2);
public function sendMessageWithoutCheckSelf($to_uids, $title = '您有新的消息', $content = '', $url = '', $url_args = array(), $from_uid = -1, $type = 0)
* @param $to_uids 接收消息的用户们
* @param string $title 消息标题
* @param string $content 消息内容
* @param string $url 消息指向的路径,U函数的第一个参数
* @param array $url_args 消息链接的参数,U函数的第二个参数
* @param int $from_uid 发送消息的用户
* @param int $type 消息类型,0系统,1用户,2应用
此方法在Application/common/Model/MessageModel.class.php中
例:
D('Common/Message')->sendMessage(C('USER_ADMINISTRATOR'), "{$user['nickname']}发布了一个活动,请到后台审核。", $title = '活动发布提醒', U('Admin/Event/verify'), is_login(), 2);
2.常用函数
1)缩略图的获取
此方法在Application/Common/Common/function.php中
其中参数width不填则默认100;
2)发送信息
此方法在Application/Common/Common/vendors.php中
3)发送邮件
此方法在Application/Common/Common/vendors.php中
4)获得具有某个权限节点的全部用户UID数组,一般用于取得有管理权限的相关用户
3.常用Widget
1)Upload上传系列
在Application/Common/Widget文件夹中
UploadFileWidget 上传单个文件组件
UploadImageWidget 上传单个图片组件
UploadMultiFileWidget 上传多个文件组件
UploadMultiImageWidget 上传多个图片组件
用法示例:
调用结果页面显示:
2)调用用户头衔展示
在Application/Common/Widget文件夹中
UserRankWidget.class.php 用户头衔组件
调用结果页面显示:
3)关注
在Application/Common/Widget文件夹中
FollowWidget.class.php 关注组件
调用结果页面显示:
4)分享
在Application/Common/Widget文件夹中
ShareWidget.class.php
调用结果页面显示:
5)菜单
在Application/Common/Widget文件夹中
SubMenuWidget.class.php
调用结果页面显示:
6)编辑器
在Application/Common/Widget文件夹中
UeditorWidget.class.php
调用结果页面显示:
4.二级导航的创建:还没出稿。
网址:http://os.opensns.cn/book/index/read/id/2.html
基础
基础知识
1.相关
获取OpenSNS的方式很多,官方网站(http://www.opensns.cn/ )是最好的下载和文档获取来源。
官网提供了稳定版本的下载:http://www.opensns.cn/download.html
如果你希望保持最新的更新,可以通过github获取当前最新的版本(完整版)。
Git获取地址列表(你可以选择一个最快的地址):
Git git@OSChub: http://git.oschina.net/yhtt2020/OpenSNS-V2
OpenSNS基于这些出色的开源项目基础之上,排名不分先后,感谢作者的无私贡献。
前端及后端的UI框架 ZUI(Bootstrap的改进版本) less
PHP框架 (ThinkPHP)
2.开发环境的准备
系统要求:
PHP版本必须是5.3以上,因为框架使用到了namespace命名空间,5.2是不支持的。
Mysql版本5.0即可,一般虚拟空间和VPS搭建的都没有问题。
推荐集成环境:
1.Windows下强烈推荐使用phpstudy搭建集成环境,此外wamp也是不错的选择。编写代码则推荐使用PhpStorm,谁用谁知道~!
2.Linux下建议使用Lumanager,自带集成环境,可以方便地对网站进行管理。
1)PhpStorm破解方式
羞羞羞
安装完phpstudy与PhpStorm后开始安装系统
2)安装系统
下载所需版本的源码
解压文件到phpstudy的www目录下
将phpstudy启动
在浏览器中输入localhost
系统会自动定位到Install模块,开始安装程序。
根据安装向导开始安装程序
详细步骤见下方图解
3)常见问题集锦:
出现这类错误,一般是在安装的时候输入了错误的数据库信息。比如数据库的账号和密码
、
安装协议
环境监测
数据库及创始人信息填写
安装完成
3.PHP框架
openSNS是基于ThinkPHP框架
所以我们在开发过程之前先要对thinkphp进行一定程度的了解
开发者可以从thinkphp的开发手册(http://document.thinkphp.cn/manual_3_2.html)中详细了解其框架的机制与作用
4.CSS。JS框架
openSNS前端是基于zui框架和less框架完成的,
具体用法请参考zui官方站http://zui.sexy/#/与less官方中文站http://www.lesscss.net//
下面展示如何安装less在phpstorm上
1. 下载winless并安装
http://winless.org/
2. phpstorm- settings- file watchers –添加-less
3. 如图配置
Program :
C:\Program Files\Mark Lagendijk\WinLess\node_modules\.bin\lessc.cmd
Arguments :
"$FileDir$\$FileName$" "$FileDir$\$FileNameWithoutExtension$.css" --clean-css
不勾选 Create output file from stdout
Working directory:
$FileDir$
Output paths to refresh:
$FileDir$\$FileNameWithoutExtension$.css
5.版本控制
作为一个team中的一员,在共同开发一个项目的时候我们开发者是需要经常合作的,那么如何将两个或两个以上的程序员所编写的代码合并呢,我们就需要一个能够让我们合作开发的工具 ,我们选择了TortoiseGit 。
习惯 Tortoise 风格的用户,可以选择 TortoiseGit 安装包,安装后的右键截图安装。TortoiseGit 的下载地址为:http://code.google.com/p/tortoisegit/。
从 Windows 上安装“右键”Git 工具——TortoiseGit
网上tortoise git 的图文教程很多,开发者可以自行查阅。
让Git记住账号密码:
上图的setting(设置)中,编辑全局,加入两行代码,然后保存。
下次输入账号密码的时候,只需要输入一次,第二次就不需要再输入了。
1.常用机制:
1)配置项的获取
function modC($key, $default = '', $module = '')
此方法在Application/Common/Common/vendors.php中
* @param string $key 获取模块的配置
* @param string $default 默认值 必须项 后台设置后返回的是后台的值
* @param string $module 模块名,不设置用当前模块名
例
modC('WEIBO_NUM',140,'WEIBO')
返回
具体模块配置字段可从相应模块中的controller后台配置config方法中找出
例:
2)用户资料的获取
function query_user($fields = null, $uid = null)
* @param $fields array|string 如果是数组,则返回数组。如果不是数组,则返回对应的值
* @param null $uid
此方法在Application/Common/Common/user.php中
用例:
$k['user'] = query_user(array('uid', 'nickname', 'avatar32', 'avatar64', 'avatar128', 'avatar256', 'avatar512', 'space_url', 'icons_html', 'rank_link', 'signature', 'tox_money', 'title', 'weibocount', 'fans', 'following'), $k['uid']);
Query_user方法能返回member表中所有字段和ucenter_member中的所有字段
返回
3)消息机制
public function sendMessage($to_uids, $title = '您有新的消息', $content = '', $url = '', $url_args = array(), $from_uid = -1, $type = 0)
* @param $to_uids 接收消息的用户们
* @param string $title 消息标题
* @param string $content 消息内容
* @param string $url 消息指向的路径,U函数的第一个参数
* @param array $url_args 消息链接的参数,U函数的第二个参数
* @param int $from_uid 发送消息的用户
* @param int $type 消息类型,0系统,1用户,2应用
此方法在Application/common/Model/MessageModel.class.php中
例:
D('Common/Message')->sendMessage(C('USER_ADMINISTRATOR'), "{$user['nickname']}发布了一个活动,请到后台审核。", $title = '活动发布提醒', U('Admin/Event/verify'), is_login(), 2);
public function sendMessageWithoutCheckSelf($to_uids, $title = '您有新的消息', $content = '', $url = '', $url_args = array(), $from_uid = -1, $type = 0)
* @param $to_uids 接收消息的用户们
* @param string $title 消息标题
* @param string $content 消息内容
* @param string $url 消息指向的路径,U函数的第一个参数
* @param array $url_args 消息链接的参数,U函数的第二个参数
* @param int $from_uid 发送消息的用户
* @param int $type 消息类型,0系统,1用户,2应用
此方法在Application/common/Model/MessageModel.class.php中
例:
D('Common/Message')->sendMessage(C('USER_ADMINISTRATOR'), "{$user['nickname']}发布了一个活动,请到后台审核。", $title = '活动发布提醒', U('Admin/Event/verify'), is_login(), 2);
2.常用函数
1)缩略图的获取
2)发送信息
3)发送邮件
4)获得具有某个权限节点的全部用户UID数组,一般用于取得有管理权限的相关用户
1)Upload上传系列
在Application/Common/Widget文件夹中
UploadFileWidget 上传单个文件组件
UploadImageWidget 上传单个图片组件
UploadMultiFileWidget 上传多个文件组件
UploadMultiImageWidget 上传多个图片组件
用法示例:
2)调用用户头衔展示
在Application/Common/Widget文件夹中
UserRankWidget.class.php 用户头衔组件
3)关注
在Application/Common/Widget文件夹中
FollowWidget.class.php 关注组件
4)分享
在Application/Common/Widget文件夹中
ShareWidget.class.php
5)菜单
在Application/Common/Widget文件夹中
SubMenuWidget.class.php
6)编辑器
在Application/Common/Widget文件夹中
UeditorWidget.class.php
4.二级导航的创建:还没出稿。
相关文章推荐
- JSON详解!!!
- LeetCode 338. Counting Bits C语言
- JavaScript字符串的查找,indexOf,lastIndexOf,search的区别
- [LeetCode] Find Minimum in Rotated Sorted Array 题解
- 用绑定服务来实现放歌的功能
- PAT-B 1018. 锤子剪刀布
- 总结
- 开启端口与关闭端口
- 简单实现大转盘抽奖
- LINUX(centos7 + jdk7+mysql+tomcat7)环境配置
- Android Activity使用拾遗
- 0429团队项目-Scrum团队成立
- zendframework
- 团队项目2.0
- 算法竞赛入门经典第四章例题总结:
- Python 字典 dictionary changed size during iteration
- [Toddler's Bottle]bof
- BZOJ3676: [Apio2014]回文串
- TabHost基本简单功能用法
- position:相对定位和绝对定位