jae-jae / QueryList

:spider: The progressive PHP crawler framework! 优雅的渐进式PHP采集框架。
https://querylist.cc
2.65k stars 441 forks source link

最大的问题就是资源混用 #57

Closed flc1125 closed 5 years ago

flc1125 commented 5 years ago

QueryList::html($html)->....

QueryList::html($html)->....

同进程内多次执行类似这样的,即使各自html不一样。很容易出现内部的一些选择器,document等资源混用。静态资源的使用有点用的不合理。

flc1125 commented 5 years ago

资源的说明:

  1. 从对象资源的角度而言,其中 htmlgetpost等获取后的源码数据,可以理解为单个 document 资源
  2. 而后所有的操作,如 range, rules 等实际是对 document 文档的资源进行操作,而非 QL\Dom\QueryQL\QueryList

对于资源与资源之间,规则各自独立,操作独立。资源也不会混用。就像 Laravel 的DB 模型一样,如:

DB::table('users') 其实后面所有的操作是基于 users 表进行操作,DB 只是提供一个入口管理操作而已。多次 DB::table('users') 各自的 where 等, 资源内都各自独立,互不影响。

最后:希望作者加深下对静态资源,以及对象的理解。谢谢。

jae-jae commented 5 years ago

感谢指正,下个版会得到优化。