我正在创建一个小部件,其中将有 2 种类型的参数:
- 可以根据我们调用小部件的位置而改变的那个,那些将在小部件调用中定义:
<?php $this->widget('ext.myWidget', array(
'someParams' => 'someValues',
)); ?>
- 对小部件的所有调用都是相同的(库的路径,保存图像的位置,...)
我想知道定义第二种参数的最佳方法是什么。
我在让用户在配置文件的 params 数组中定义它还是在 Widget 文件的数组中定义它之间犹豫不决。
第一个选项的主要优点是用户不必修改 Widget 文件,因此在更新的情况下,他的修改不会被覆盖,但这不是特定的用户参数,所以将它放在 config 中的 parmas 数组中文件可能看起来很奇怪。
那么最好的解决方案是什么?如果还有比上面2个更好的,请告诉我!
编辑:
澄清我的想法:我的小部件将生成一些可以存储在可配置目录中的图像。但是由于每次调用小部件时这个目录都必须相同,所以我看不出将这个配置放入小部件调用中的意义!这就是为什么我正在考虑将一些参数放入配置文件中,在params
数组中,例如:
params => array(
'myWidget' => array(
'imageDir' => 'images',
)
)
但我不知道扩展在params
数组中有一些配置值是否是一个好习惯。
另一种解决方案是config.php file
在我的扩展目录中有一个用户可以设置自己的值的地方,这样他就不必修改插件的主配置文件。但这种替代方案的主要缺点是,如果用户更新扩展,他将失去他的配置。
这就是为什么我正在寻找有关小部件配置的最佳实践