PHP 是前端的范畴了?在大公司里面 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
spademan
V2EX    PHP

PHP 是前端的范畴了?在大公司里面

  •  
  •   spademan 2016-07-04 15:27:05 +08:00 11775 次点击
    这是一个创建于 3435 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是我太孤陋寡闻了吗?

    今天和一个同事聊,他说 PHP 是前端范畴的了

    80 条回复    2016-07-05 20:08:32 +08:00
    shyling
        1
    shyling  
       2016-07-04 15:28:03 +08:00
    大公司不是用 node 替换了前端的 php 嘛?
    Enivel
        2
    Enivel  
       2016-07-04 15:31:26 +08:00
    的确是前端, php 主要业务 底层交互都是 C++开放的接口
    XianZaiZhuCe
        3
    XianZaiZhuCe  
       2016-07-04 15:34:34 +08:00 via iPhone
    相对来说是前端
    kumakiti
        5
    kumakiti  
       2016-07-04 15:45:20 +08:00
    技术上的前端肯定不算啊,毕竟还是要跑在服务器上的,只用浏览器肯定不行
    估计是在整个产品结构里,偏向展现给用户那一块的,所以在公司内部被叫做『前端』
    spademan
        6
    spademan  
    OP
       2016-07-04 15:48:06 +08:00
    @LevineChen 这么说是有道理~~
    @calidion 哈哈我一直是这么觉得,所以才发了这么问题

    @kumakiti 大概明白了
    @XianZaiZhuCe 恩 相对来说的话 就比较好理解了
    calidion
        7
    calidion  
       2016-07-04 15:48:16 +08:00   1
    需要区分项目前端与 Web 前端。
    Web 前后端的区分依据是浏览器与服务器。
    项目前后端区分的依据是所在项目的位置。
    不能混为一谈。
    zeus255
        8
    zeus255  
       2016-07-04 15:49:12 +08:00
    这个前端和传统意义上说的 web 前端不太一样。
    html/js/css ==> node/php/python ==> java/c++, 一般现在大型网站架构的层次和语言是这样的关系。
    在大企业, java 的比重越来越大,脚本语言基本上只会用来处理模板渲染等跟 view 有直接交互的内容,所以就有被归类到前端去的说法。
    calidion
        9
    calidion  
       2016-07-04 15:49:51 +08:00
    @spademan

    嗯。为了概念的正确而努力。
    calidion
        10
    calidion  
       2016-07-04 15:53:12 +08:00
    @zeus255

    但是这样的归类是错误的。
    项目前端因公司不同而不同。 Web 前后端是确定的。

    任何语言都可以处理 VIEW ,那么我问你,那个语言是专门处理后端的?
    jakehu
        11
    jakehu  
       2016-07-04 16:06:13 +08:00
    相对而言
    66beta
        12
    66beta  
       2016-07-04 16:51:59 +08:00
    可能是因为 web 前端都会 PHP 的缘故吧
    lslqtz
        13
    lslqtz  
       2016-07-04 16:54:21 +08:00 via iPhone
    html/css 才是前端
    hasbug
        14
    hasbug  
       2016-07-04 16:55:43 +08:00
    怎么会有这种说法?
    感觉现在都玩坑里去了,前端还是原来的概念,只不过现在前端可以能做更多罢了。
    murmur
        15
    murmur  
       2016-07-04 16:59:25 +08:00
    现在前端不都必须会一门后台语言么
    murmur
        16
    murmur  
       2016-07-04 16:59:53 +08:00
    @shyling 我感觉越大的公司越不会轻易用 node 做主要后端。。。
    sfree2005
        17
    sfree2005  
       2016-07-04 17:03:02 +08:00
    很多 php 框架都是 MVC , 他这里应该指的是这里的‘ V ’吧。
    TangMonk
        18
    TangMonk  
       2016-07-04 17:05:03 +08:00
    相对而言,淘宝原来就是
    learnshare
        19
    learnshare  
       2016-07-04 17:06:23 +08:00
    前后都是相对的,许多业务中的前端指的是更靠近用户的那部分,不一定指的是 GUI 部分。
    keinx
        20
    keinx  
       2016-07-04 17:13:52 +08:00
    在我们公司, java 是底层做数据的, php 就是前段配合 html5 做用户展示数据的
    otakustay
        21
    otakustay  
       2016-07-04 17:19:44 +08:00
    在百度好像 PHP 真算前端的
    aksoft
        22
    aksoft  
       2016-07-04 17:24:15 +08:00
    C 说 php 是前端
    html css js 说 php 是后端。。
    pasturn
        23
    pasturn  
       2016-07-04 17:32:40 +08:00
    狭义算后端,广义算前端
    alwayssmile
        24
    alwayssmile  
       2016-07-04 17:33:09 +08:00
    不是哇,既有偏前端也有偏后端的啊
    wavingclear
        25
    wavingclear  
       2016-07-04 17:34:03 +08:00
    http://2014.jsconf.cn/slides/herman-taobaoweb/index.html#/61

    前端扩张了, PHP 大概处于蝙蝠的位置
    xuyifei
        26
    xuyifei  
       2016-07-04 17:34:45 +08:00
    看你用来做什么了,做页面展示部分的逻辑,算前端吧
    kideny
        27
    kideny  
       2016-07-04 17:48:45 +08:00
    我觉得,应该处于中间层吧。
    用 nodejs 替代 php ,很大一部分原因是为了省钱吧。
    jerray
        28
    jerray  
       2016-07-04 17:51:51 +08:00
    前端后端跟语言关系不大,而且前后也总是相对的。有人用 Java 写 Web ,有人用 Java 写桌面,有人用 Java 写中间件,有人用 Java 写数据库。 Java 是前端还是后端?
    mogita
        29
    mogita  
       2016-07-04 17:52:09 +08:00
    看 PHP 用来承载什么业务了吧。习惯 Java 、 Node 等后台的公司, PHP 会叫做前端,顶多叫中间层。整个业务就是一个 PHP 网站的公司, PHP 自然可以叫后端了。叫法其实不重要。
    lightening
        30
    lightening  
       2016-07-04 17:54:05 +08:00   6
    每个人都有自己对前后端的概念。
    Web 工程师觉得 html/js/css 是前端, php 是后端。
    架构师觉得 web 是前端,核心逻辑是后端。
    库的维护者觉得应用是前端, infrastructure 是后端。
    硬件工程师觉得软件是前端,硬件是后端。
    电路设计人员觉得芯片内布局布线是前端,电路逻辑表达是后端。
    硬件工艺研究人员觉得电路逻辑是前端,半导体物理是后端。
    odirus
        31
    odirus  
       2016-07-04 17:56:03 +08:00
    每个公司业务不同都嘛, Java 也阔以写前端呀,只是比较丑而已。
    dxwwym
        32
    dxwwym  
       2016-07-04 17:56:06 +08:00 via iPhone
    看完帖子觉得应该有一个中端的概念
    ichou
        33
    ichou  
       2016-07-04 18:47:11 +08:00 via iPhone
    我们虽然小公司 但 php 也是前端
    Patrick95
        34
    Patrick95  
       2016-07-04 18:52:38 +08:00
    @dxwwym 叫中间层语言比较合适
    Light3
        35
    Light3  
       2016-07-04 19:02:23 +08:00
    概念不一样。。不过很老的梗了。。而且不少地方都不用 php 用 node.js 来替换了。。
    genffy
        36
    genffy  
       2016-07-04 19:07:09 +08:00
    显然,,,,对于 web 来说,后端只是 API 了, ios android 也都是前端。
    ibigbug
        37
    ibigbug  
       2016-07-04 19:21:02 +08:00
    是前端还不好,都说前端天花板
    dongm2ez
        38
    dongm2ez  
       2016-07-04 19:23:06 +08:00
    php 在小公司是全栈,在大公司是中间件
    calidion
        39
    calidion  
       2016-07-04 19:25:25 +08:00
    @genffy

    显然你又错了。
    ios android 是客户端。
    与前后端完全是两个概念。

    看来一个概念建立起来很难,混淆很容易。
    shyling
        40
    shyling  
       2016-07-04 20:55:30 +08:00 via iPad
    @murmur 我说的是替换了前端的 php ,没有说做主要后端啊。。。
    Jaylee
        41
    Jaylee  
       2016-07-04 21:46:43 +08:00
    架构上是,但技术上不上
    Jaylee
        42
    Jaylee  
       2016-07-04 21:46:56 +08:00
    架构上是,但技术上不是
    eoo
        43
    eoo  
       2016-07-04 21:51:18 +08:00 via Android
    看你怎么用咯
    codelegant
        44
    codelegant  
       2016-07-04 22:36:51 +08:00
    在我们公司,浏览器 + web 服务器( PHP )称为前端(有时候也称 Web App 客户端,与 ios, andrioid 平级),后端是数据库+服务器。
    miaotaizi
        45
    miaotaizi  
       2016-07-04 22:38:39 +08:00
    是又如何, 不是又如何? 快速切换自己的位置才是王道
    miaotaizi
        46
    miaotaizi  
       2016-07-04 22:40:01 +08:00
    我在公司就是, 不用 java 做后端我就用 PHP 写, 一旦 java 上后端, 我就去写 js.....
    calidion
        47
    calidion  
       2016-07-04 22:52:13 +08:00
    @codelegant

    Web 服务器不属于服务器?

    将 Web 前端与其它的前端混淆的基本都是基本概念不清楚的人。

    概念清楚不会说 PHP 之类的为前端的。
    codelegant
        48
    codelegant  
       2016-07-04 23:15:42 +08:00
    @calidion Web 服务器是属于服务器,但现在前端的工作已经从浏览器往 Web 服务器延伸了,并且与数据服务器有了很明显的界线,所以出了一个新名称:“大前端”。
    genffy
        49
    genffy  
       2016-07-04 23:18:07 +08:00 via iPhone
    @calidion 其实吧,就是些用着跑在服务器 /强类型语言的人写着千篇一律的 curd 的自我安慰吧,不涉及并发,不涉及多线程,不涉及底层调用 /开发的即便是跑服务器说是后端的都是耍流氓。假如有用 c++写 nose/php 扩展的,这个成为后端,我服。
    以上,仅代表作为一个页面仔的我的观点,没有针对任何人,也不代表雇主。
    mingyun
        50
    mingyun  
       2016-07-04 23:25:44 +08:00
    php 作为接口提供方
    calidion
        51
    calidion  
       2016-07-05 01:33:13 +08:00
    @codelegant

    大前端就是错误的胡扯的结果。大前端试问大在那里?既然有大前端,试问什么是小前端?
    中国的 IT 界的可恨之处在于喜欢制造错误的名词,然后传播错误的理念。

    正确的叫法其实就是全栈工程师。

    @genffy

    后端与前端并没有那个更高大上的差别。差别只在于位置的不同。
    你对前后端的理解本身就是错误的。
    你的意思是前端必然比后端要弱?显然实际情况并非如此。

    可见基于以上多位对于前后端的讨论,基本上都是源于错误。

    所以我认为将前端扩大,与将后端缩小都是因为错误与无知。
    即无法界定前端,也无法界定后端。所以稀里糊涂的人云亦云。

    因为对于前端后分不清,然后才会搞出什么前后端分离这种可笑的提法。

    这种提法的前提是根本不知道什么是前后端,也不知道分了什么。
    然后分离的是什么也没有搞清楚。

    前后端分离与大前端,还有将 PHP , JAVA , NODEJS 叫做前端。本身就是中国 IT 界最大的耻辱。
    genffy
        52
    genffy  
       2016-07-05 01:55:02 +08:00 via iPhone
    @calidion u win
    litpen
        53
    litpen  
       2016-07-05 09:40:01 +08:00
    如果是同构型的架构那后端的一部分工作属前端
    spademan
        54
    spademan  
    OP
       2016-07-05 09:42:11 +08:00
    哇塞 感谢大家的回答,大体都了解了,我是一个 web 小前端,所以才觉得说 php 是前端比较惊讶,如果说相对而言的话就好理解了 ~~~
    madao
        55
    madao  
       2016-07-05 10:30:13 +08:00
    @calidion 一部分人概念上把 PHP 列为前端,是因为在架构上 PHP 在项目设计里不涉及数据的操作,仅仅做 view 和 helper 的缘故吧,你也别急着灌注给别人概念的对和错。

    PS :「全栈工程师」不是会那么点就算的。
    PPS :前端和后端的区分,也不是绝对性的,方便工作理解即可。
    PPPS :「耻辱」二字别乱用。
    kidult
        56
    kidult  
       2016-07-05 10:41:10 +08:00
    管它是什么端,工资不低就对了
    tairan2006
        57
    tairan2006  
       2016-07-05 10:49:54 +08:00
    前后端是相对的。。
    codelegant
        58
    codelegant  
       2016-07-05 10:52:39 +08:00
    @calidion
    小前端就是纯浏览器,在大前端中, web 服务器相当于 model 层(控制逻辑与交互逻辑),只不过不是与数据库交互,而是通过 API 与数据服务器(业务逻辑)交互。如果是全栈,那是需要包括数据库操作的。

    所以现在有种前后端的看法就是:不涉及数据库的就划分到前端。 所以有时候会称:“前端服务器”,“ web 服务器”,与之对应的:“后端服务器”,“数据服务器”。

    淘宝的前端服务器语言是 node ,后端服务器语言是 java ,之所以前端服务器的语言使用 node ,正是为了把这部分工作归到前端。

    我之前公司的前端服务器语言是 php (与页面结构较紧密,方便操作),后端服务器语言是 golang (性能高)。

    所以呢,现在前后端概念可能如果你所说,但工作的范围已经不局限于原来的概念了。
    calidion
        59
    calidion  
       2016-07-05 11:07:38 +08:00
    @madao

    你的意思是涉及数据的操作的就是后端?
    HTML5 里支持多种数据库与数据操作,是不是表示 HTML5 是后端?
    这种思路得好好检讨自己了,这种简单,基本的逻辑错误通常应该默认不会出现的。
    你没有搞清楚什么是前端,什么是后端。
    从上面的分析来看,数据还是划分前后端的依据吗?
    答案显然是否定的。

    这种么简单的逻辑这么多人搞不清楚,难道不是一件很可耻的事情。

    显然你并没有搞清楚。

    因为操作数据根本不是前后端的划分依据。

    前后的划分本质上是依据调用层次来看的。

    作为数据通常是需要持久化的,所以与 OS 与文件系统的联系比较紧密的。

    也就是相对来讲处于整个调用链的末端,只不过是一个存储业务或者数据业务而已。

    由于大多数据库也是基于 TCP/IP 连接的,跟 Web 服务器基于 TCP/IP 是一样的。
    本质上并没有明显的谁前谁后的界线。

    所以认为数据库比 Web 服务器更后面,本身就是错误的理解。

    关于你回复的两点,再统一回复下:

    1. 关于全栈工程师不是以技能多少来论的,而是以涉及的技术领域来论的。如果没有涉及前后端,就算技能再多,也不见得是全栈工程师。如果认为全栈工程师技术少了。你可以说说少在那里了。
    2. 前后端不是完全绝对的,但是 Web 前后端是绝对的。大部分的前后端虽然不绝对,但是也是有基础的区分的。所以持不可知论的人是可耻的。如果前后端你分不清楚,你为什么能分清楚 NODEJS 与 PHP ?从更无耻的角度,我还可以认为 PHP 与 NODEJS 无法区分。
    3. 耻辱这两个字用的还是恰如其分的。体现了国内技术不可知论者太多,混淆视听的人太多的现状。
    calidion
        60
    calidion  
       2016-07-05 11:09:45 +08:00
    @codelegant

    看你的回复,好象你对 MVC 的理解是错误的。

    model 层(控制逻辑与交互逻辑)

    这个显然应该是 C 层。

    麻烦先好好看看 MVC 是什么。。
    calidion
        61
    calidion  
       2016-07-05 11:19:16 +08:00
    @codelegant


    麻烦你区分下 Web 前后端与业务的前后端。

    不要混为一谈。

    将 Web 前后端与业务前后端混为一谈的人就是基本概念不清的表现。

    我一样可以将你分成前后端。前端是肚皮,脸皮,后端是背与臀。

    当我说你的前端与你的后端时,你也可能理解我说的是什么,但是这样是没有意义的,可笑的。

    因为我们讨论不在一个层面。

    我说你有一个全栈的身体,你有一个大前端的肚子?


    将 Web 前后端与业务的前后端混淆,本质是没有逻辑的表现。无它。
    allce231
        62
    allce231  
       2016-07-05 11:20:05 +08:00
    c++提供接口拿数据的话, php 只是 MVC 中的 C 层,可以说是属于前端的了

    腾讯很多是用 C++写后台, protobuf 协议 可以用 php 去拿数据然后显示这就属于前端范畴了

    当然 pb 协议也支持 js 了
    codeyung
        63
    codeyung  
       2016-07-05 11:27:56 +08:00
    逻辑没问题 说的通
    calidion
        64
    calidion  
       2016-07-05 11:29:27 +08:00
    @allce231

    麻烦通读一下这个帖子,然后看下我分享的链接。

    你们的错误在于没有分清楚 Web 前后端与业务前后端。
    allce231
        65
    allce231  
       2016-07-05 11:50:31 +08:00
    @calidion 没必要分那么清啊 就比如我们前后端分离一般是用 js 通过 json 去拿数据 然后才做 view 操作

    就拿 protobuf 来说 c++写好后台 但不提供 http 协议接口只提供 pb 接口 需要一个中间层( php )来解释 pb 协议 然后进行 view 操作

    你让后写后台的来操作的 html 代码是不是会更乱? php 做为 C 层也是我们前端来写是不是也前后端分离了?

    最后我说一句 php 作为 C 层很简单 不用操作数据库那些,写 php 跟写 js 代码没差多少 语法很像

    艺多不压身
    fsy0718
        66
    fsy0718  
       2016-07-05 11:52:00 +08:00
    我们公司除了与数据库直接打交道的中枢,其余都称之为前端展示。。。哈哈,哪怕你是写 csharp 的
    sunshinewu85
        67
    sunshinewu85  
       2016-07-05 11:53:41 +08:00 via Android
    为何我们老喜欢纠结于这些概念?这,相对而言是不是又反映了我们的浮躁?

    每一种语言的设计者,各有各的野心,而这些野心,会慢慢随着发展共荣和趋向相同呈现得不可思议,甚至一些语言能够把前后端都能揽入怀中,不足为奇,那就能一概而论地说这是前端这是后端?用什么做前后端,关键还得看项目,看到底你要解决或达到哪个层级的优化吧?当然,还得看市场人力资源的招募成本
    madao
        68
    madao  
       2016-07-05 11:55:35 +08:00
    @calidion https://en.wikipedia.org/wiki/Front_and_back_ends

    你开心就好,顺带一提, THRIFT 这个框架, Facebook 对它实践里说的是「 PHP is used for the front-end 」。

    PS: 一口一个层面,这种对话习惯很不好。
    madao
        69
    madao  
       2016-07-05 11:56:51 +08:00
    @calidion 另外,你的对话有大量的二元论,非此即彼的逻辑其实是不好的思考习惯。

    如果尝试着思考的时候加上「不同的场景」作为预设判断,那会想得更全面些。
    lookfeel
        70
    lookfeel  
       2016-07-05 12:05:40 +08:00
    @shyling node 代替 php 普遍吗现在?
    calidion
        71
    calidion  
       2016-07-05 12:22:04 +08:00
    @madao

    科学技术就是要讲求唯一性的,消除二义性的。
    如果无法消除,那就别个限定条件。
    比如我说 1+1 = 3 ,你说 1+1 =5 。
    难道我们就是对的?
    显然科学技术不是这样的,科学技术不是民主自由。
    科学技术并不会因为相信的人多就对,相信的人少就错。
    对于科学技术来说,通常需要有一个明确的结论。


    @allce231

    我们讨论的问题并不是简单不简单的问题。而是如何区分前后端的问题。
    任何时候 我们做的事情都是去复杂化。变简单是应该的。
    现在的问题是应该好好区分前后端。

    将 Web 前后端与业务前后端混淆对于目前来讲是很常见的错误。

    前后端是一个泛与相对的概念。
    而我主张要区分开是因为混乱导致概念不清,导致理解的错误。

    将 PHP 当成是前端就是扯蛋的结果。

    因为 PHP 本来就不是前端。

    PHP 只是可以在后端里从事相对比较靠前的业务。

    当然称为服务器前端也是可以的。但是这个前端与我们通常意义的 Web 前端完全是两码事。

    所以通常我们说前端是指 Web 前端,而不是服务器前端。

    如果说 PHP 是服务器前端,我不会有意见,但是将 PHP 称为前端,那就是对概念的混淆。
    madao
        72
    madao  
       2016-07-05 12:38:49 +08:00
    @calidion
    你这样说我就不乐意了,这个「唯一性」是错误的,严厉地说,是愚蠢的。
    如果 1 + 1 一定等于 2 ,咱不需要哥德巴赫猜想,不需要 Sierpinski-Mazurkiewicz 悖论,只需要知道 1 + 1 等于 2 ,事实上只是在特定语境和条件下, 1 + 1 等于 2 ,这个特定语境对于大部分人而言是普适语境罢了。

    另外你在遣词酌句的死胡同里快出不来了,专业名词的用处,是为了让我们更好地工作,而不是用来提升优越感。

    总而言之,我不会再往下说了,日安,祝你今天过得好。
    hqs123
        73
    hqs123  
       2016-07-05 13:07:01 +08:00
    PHP 世上最好语言^_^
    calidion
        74
    calidion  
       2016-07-05 13:10:08 +08:00
    @madao

    刚好是你在表现优越感。

    限定就是为了说明问题。

    唯一性当然不是在任何时候都是对的。

    但是只有有了唯一性,问题才是可解的。

    如果 1+1 不是等于 2,那任何的数据计算都没有意义。

    别跟我扯什么哥德巴赫猜想,跟 1+1 等于 2 没有任何关系。

    哥德巴赫猜想本身就是试图找到唯一性与确定性。

    你用一个科学家试图寻找确定性的事件说明事情是不唯一的?这不是很可笑的事情吗?

    如果科学不是寻找唯一性,他就没有必要猜了。因为如果结果都是不确定的,猜也是没有任何意义的,。

    所以说谁愚蠢呢? 祝你一生都过得好。

    既然真理掌握在你手里,为什么就不能有点优越感呢?优越感难道不是求真的动力之一吗?呵呵。
    chuhemiao
        75
    chuhemiao  
       2016-07-05 14:00:17 +08:00
    @hqs123 看到了真爱
    HarveyDent
        76
    HarveyDent  
       2016-07-05 14:29:28 +08:00
    各位长老,收了神通吧。
    jsyzchen
        77
    jsyzchen  
       2016-07-05 16:18:03 +08:00   1
    后端的前端,可以这样理解
    tttwww18
        78
    tttwww18  
       2016-07-05 19:02:12 +08:00
    没错!
    dbfox
        79
    dbfox  
       2016-07-05 20:06:49 +08:00 via iPhone
    php 是属于套 html 展示 ui 层的语言
    而后端更多的是一个一个的服务 是没有 ui 的
    比如搜索服务
    分布式文件存储服务

    当然 php 也可以写一些服务,但并不是优势
    比如 c++ 可以写更底层的东西
    dbfox
        80
    dbfox  
       2016-07-05 20:08:32 +08:00 via iPhone
    php 更多的是调用这些服务,实现一些表层的工作
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2590 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 03:04 PVG 11:04 LAX 19:04 JFK 22:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86