ホームページ バックエンド開発 PHPチュートリアル PHP能不能把库一次加载永恒使用

PHP能不能把库一次加载永恒使用

Jun 13, 2016 am 11:11 AM
apc controller eaccelerator nbsp php

PHP能不能把库一次加载永久使用
比如一个库, 几乎所以页面都有调用它, 有没有一种方式, 不用在每个页面都require它, 前提是这是一个函数库, 实际上每次加载都不执行代码.


------解决方案--------------------
引用:
比如一个库, 几乎所以页面都有调用它, 有没有一种方式, 不用在每个页面都require它, 前提是这是一个函数库, 实际上每次加载都不执行代码.


引用文件就是自上自下始终继承的原则。假如a是你的全局文件。那么b引用了a,c引用b的时候,同时也就引用了a。e如果没有引用b就需要自己引用a。

要实现你说的方式,有三种方法:

1 把系统设计成单入口,入口处每次都加载一个全局文件,把你的全局文件让入口文件引用就成了。你可以参考mvc框架的设计方式。

入口文件 -> bootstrap -> front_controller -> router mapping -> controller a
                                                                                                -> controller b
                                                                                                -> controller c

在bootstrap中引用你的全局文件。
   
2 实现autoload,这样当你实例一个当前不存在的class时,它会自动去加载那个文件。

3 把你的库写成php扩展,php的扩展在php进程启动时就会自动加载并一直在进程中存在。
------解决方案--------------------
补充楼上
4.php.ini 自动加载文件,请参考 auto_prepend_file, auto_append_file ,注意session等等全局的问题
5.web服务器自动加载,参考服务器文档
6.系统自动加载,参考系统文档
------解决方案--------------------
如果你能安装成功 apc 扩展,那么他会缓存一些代码在内存中,而不必每次多文件

原来有个 eAccelerator 扩展,效果也不错,但是 php5.3 以后就不能用了
至于 apc 扩展,由于始终都没有加载成功。所以不知道是否像他说的那么管用
------解决方案--------------------
引用:
如果你能安装成功 apc 扩展,那么他会缓存一些代码在内存中,而不必每次多文件

原来有个 eAccelerator 扩展,效果也不错,但是 php5.3 以后就不能用了
至于 apc 扩展,由于始终都没有加载成功。所以不知道是否像他说的那么管用


嗯 5.x后开始用 apc了.可以,感觉没有eAccelerator那么明显 不过可能是心理作用吧。


------解决方案--------------------
看到这个标题      我想了很久,对这个我不懂
------解决方案--------------------
遍历项目文件,将文件路径存储在一个文件里面,并且序列化,设置一个过期时间,每次直接从序列化的文件当中去读取,可以参考php的自动加载文件函数spl_autoload_register() 。
------解决方案--------------------
引用:
引用:看到这个标题      我想了很久,对这个我不懂

其实我这里只是问一下, 系统频繁的读取一个文件是有优化的, 如果真实从磁盘频繁加载, 速度是不可忍受的, 这些数据都会在内存里, 所以多次读取同一个文件, 文件不是很大, 内存足够的话, 速度是非常快的.

但是即使如此, 重复加载一个大页面也是有问题的, 所以, ……


就是楼上们说的APC
------解决方案--------------------
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles