搜尋

首頁  >  問答  >  主體

thinkphp为啥执行一个方法要引入这么多个文件,对性能有何影响?

如题,在thinkphp中某方法只输出一个echo 1, 发现要引入的文件很多,这对服务造成什么影响。遇到并发大时候该如何优化?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

array(63) {

  [0]=>

  string(43) "{MY_SITE}/index.php"

  [1]=>

  string(52) "{MY_SITE}/thinkphp/start.php"

  [2]=>

  string(51) "{MY_SITE}/thinkphp/base.php"

  [3]=>

  string(67) "{MY_SITE}/thinkphp/library/think/Loader.php"

  [4]=>

  string(73) "{MY_SITE}/vendor/composer/autoload_namespaces.php"

  [5]=>

  string(67) "{MY_SITE}/vendor/composer/autoload_psr4.php"

  [6]=>

  string(71) "{MY_SITE}/vendor/composer/autoload_classmap.php"

  [7]=>

  string(68) "{MY_SITE}/vendor/composer/autoload_files.php"

  [8]=>

  string(80) "{MY_SITE}/vendor/symfony/polyfill-mbstring/bootstrap.php"

  [9]=>

  string(86) "{MY_SITE}/vendor/guzzlehttp/promises/src/functions_include.php"

  [10]=>

  string(78) "{MY_SITE}/vendor/guzzlehttp/promises/src/functions.php"

  [11]=>

  string(82) "{MY_SITE}/vendor/guzzlehttp/psr7/src/functions_include.php"

  [12]=>

  string(74) "{MY_SITE}/vendor/guzzlehttp/psr7/src/functions.php"

  [13]=>

  string(84) "{MY_SITE}/vendor/guzzlehttp/guzzle/src/functions_include.php"

  [14]=>

  string(76) "{MY_SITE}/vendor/guzzlehttp/guzzle/src/functions.php"

  [15]=>

  string(78) "{MY_SITE}/vendor/topthink/think-captcha/src/helper.php"

  [16]=>

  string(66) "{MY_SITE}/thinkphp/library/think/Route.php"

  [17]=>

  string(67) "{MY_SITE}/thinkphp/library/think/Config.php"

  [18]=>

  string(69) "{MY_SITE}/thinkphp/library/think/Validate.php"

  [19]=>

  string(77) "{MY_SITE}/vendor/topthink/think-helper/src/helper.php"

  [20]=>

  string(69) "{MY_SITE}/vendor/yfcmf/geetest/src/helper.php"

  [21]=>

  string(78) "{MY_SITE}/vendor/qiniu/php-sdk/src/Qiniu/functions.php"

  [22]=>

  string(75) "{MY_SITE}/vendor/qiniu/php-sdk/src/Qiniu/Config.php"

  [23]=>

  string(80) "{MY_SITE}/vendor/overtrue/wechat/src/Payment/helpers.php"

  [24]=>

  string(66) "{MY_SITE}/thinkphp/library/think/Error.php"

  [25]=>

  string(57) "{MY_SITE}/thinkphp/convention.php"

  [26]=>

  string(64) "{MY_SITE}/thinkphp/library/think/App.php"

  [27]=>

  string(68) "{MY_SITE}/thinkphp/library/think/Request.php"

  [28]=>

  string(48) "{MY_SITE}/app/config.php"

  [29]=>

  string(54) "{MY_SITE}/data/conf/config.php"

  [30]=>

  string(50) "{MY_SITE}/app/database.php"

  [31]=>

  string(65) "{MY_SITE}/thinkphp/library/think/Hook.php"

  [32]=>

  string(46) "{MY_SITE}/app/tags.php"

  [33]=>

  string(48) "{MY_SITE}/app/common.php"

  [34]=>

  string(64) "{MY_SITE}/thinkphp/library/think/Env.php"

  [35]=>

  string(53) "{MY_SITE}/thinkphp/helper.php"

  [36]=>

  string(65) "{MY_SITE}/thinkphp/library/think/Lang.php"

  [37]=>

  string(67) "{MY_SITE}/thinkphp/library/think/Cookie.php"

  [38]=>

  string(64) "{MY_SITE}/thinkphp/library/think/Log.php"

  [39]=>

  string(57) "{MY_SITE}/thinkphp/lang/zh-cn.php"

  [40]=>

  string(52) "{MY_SITE}/app/lang/zh-cn.php"

  [41]=>

  string(53) "{MY_SITE}/app/home/config.php"

  [42]=>

  string(57) "{MY_SITE}/app/home/lang/zh-cn.php"

  [43]=>

  string(61) "{MY_SITE}/app/home/controller/Bet.php"

  [44]=>

  string(62) "{MY_SITE}/app/home/controller/Base.php"

  [45]=>

  string(66) "{MY_SITE}/app/common/controller/Common.php"

  [46]=>

  string(71) "{MY_SITE}/thinkphp/library/think/Controller.php"

  [47]=>

  string(77) "{MY_SITE}/thinkphp/library/traits/controller/Jump.php"

  [48]=>

  string(65) "{MY_SITE}/thinkphp/library/think/View.php"

  [49]=>

  string(78) "{MY_SITE}/thinkphp/library/think/view/driver/Think.php"

  [50]=>

  string(69) "{MY_SITE}/thinkphp/library/think/Template.php"

  [51]=>

  string(81) "{MY_SITE}/thinkphp/library/think/template/driver/File.php"

  [52]=>

  string(66) "{MY_SITE}/thinkphp/library/think/Cache.php"

  [53]=>

  string(78) "{MY_SITE}/thinkphp/library/think/cache/driver/File.php"

  [54]=>

  string(73) "{MY_SITE}/thinkphp/library/think/cache/Driver.php"

  [55]=>

  string(68) "{MY_SITE}/thinkphp/library/think/Session.php"

  [56]=>

  string(63) "{MY_SITE}/thinkphp/library/think/Db.php"

  [57]=>

  string(79) "{MY_SITE}/thinkphp/library/think/db/connector/Mysql.php"

  [58]=>

  string(74) "{MY_SITE}/thinkphp/library/think/db/Connection.php"

  [59]=>

  string(69) "{MY_SITE}/thinkphp/library/think/db/Query.php"

  [60]=>

  string(77) "{MY_SITE}/thinkphp/library/think/db/builder/Mysql.php"

  [61]=>

  string(71) "{MY_SITE}/thinkphp/library/think/db/Builder.php"

  [62]=>

  string(66) "{MY_SITE}/thinkphp/library/think/Debug.php"}

phpcn_u233phpcn_u2332918 天前1278

全部回覆(2)我來回復

  • 数据分析师

    数据分析师2017-10-01 01:10:15

    thinkphp為啥執行一個方法要引入這麼多文件,對效能有何影響? -PHP中文網問答-thinkphp為啥執行一個方法要引入這麼多文件,對效能有何影響? -PHP中文網問答

    圍觀一下哦,學習一下。

    回覆
    0
  • 阿神

    阿神2017-03-27 13:43:02

    使用框架本来就是牺牲些性能获取开发效率的。TP框架内部耦合度很高,因此性能比起其他框架还好呢。

    看上面加载的文件,你应该使用的是TP5,TP5中使用到的是懒性加载,这种方式只在需要的时候才加载相关的类文件,相比于3.x性能上提升了不少。

    另外一种就是缓存。TP3.X能够将所有的要包含的文件打包成一个文件,这样就避免了多次加载。不过在TP5是模板才有缓存。

    高并发下,可以使用APC,提高硬件,使用nginx之类。

    回覆
    0
  • 取消回覆