ホームページ バックエンド開発 PHPチュートリアル phpwind发布windframework开源开发框架,越来越热闹了解决办法

phpwind发布windframework开源开发框架,越来越热闹了解决办法

Jun 13, 2016 am 10:14 AM
cache mvc wind

phpwind发布windframework开源开发框架,越来越热闹了
今日,知名互联网产品与服务提供商phpwind正式推出通用的php开源技术框架‘windframework’。基于phpwind多年专注php开发积累沉淀下来的技术和解决方案,windframework将为未来推出的phpwind下一代社区产品提供统一的应用开发架构服务。而作为一款通用型的框架,windframework也将为开发者提供更为简单、安全、扩展性良好的应用开发支持。

  phpwind旗下社区建站通用型程序phpwind,作为一款广受站长欢迎的产品,在国内拥有广泛的社区网站用户,而通过此次底层开发框架的统一和重构,将能为广大开发者提供轻盈,简洁的开发框架,同时提供给基于此框架开发产品以庞大的用户基础。

  什么是windframework?

  windframework是一个轻量级的php开源框架,以组件工厂为核心,提供了像MVC、数据持久化、视图模板引擎等应用技术。此外windframework采取了一种组件化的开发模式。虽然目前的组件库还不算丰富健壮,但是基于这种开发模式,使组件的扩展变得非常的容易。windframework拥有一个强健的内核,它实现了基于配置的Ioc控制反转技术。开发者只需要简单的配置,就可以实现类的依赖注入,实现了类与类的完全松耦合。

  Windframework由phpwind社区开发团队自主研发,2010年10月份开始投入,目前为止已经内部发行了四个版 本。它源自phpwind社区产品的一次名为‘鹊桥’的重构计划。意在重新定义phpwind的架构分层以及开发模式,使其看起来更清晰,更易于扩展和二次开发。

据项目负责人吴琼介绍,项目最开始对windframework 的定位和设想是希望提炼phpwind社区产品的底层实现并对其进行统一化部署;也是对phpwind产品中多年积累沉淀下来的技术和解决方案进行整理重构,使其成为通用的标准化的工具/组件库。后来windframework逐渐的发展成为了一个通用型的php框架,一个独立的框架产品。它的定位和职责也越来越清晰:支撑了整个phpwind社区应用的运行,为它定义了统一规范的MVC流程,并提供强大的路由和视图渲染能力,灵活的应用部署方案等。windframework服务于phpwind社区产品,但也独立于phpwind社区产品。

  windfrmaework的特点

  作为一个通用的php框架,windframework在公司内部已经发行至第四版并推广使用,此次正式对外发布的版本,已经有了多项的优化和BUG修复。有很多新的项目基于windframework框架进行开发,包括即将推出的phpwind最新社区版本和社区电子商务平台,都基于windframework框架基础。在这个框架基础上,开发者进行二次开发和模板制作,将会更便捷和快速,而通过应用中心phpwind将为开发者提供更丰富更实用的应用、模板库。

  Model-View-Controller(MVC)

  wind框架提供了基础的web mvc支持(参看组件包wind/web/)。wind mvc 基于框架核心技术,提供了一种清晰的、松耦合的实现。它采用前端控制器模式,并支持强大的拦截过滤器链策略。使完全松耦合的方式集中化控制逻辑变的简单。除此以外,wind mvc 还提供了像‘模板驱动’、‘请求重定向’等特性。

  目录路径别名与import类加载

  wind框架可以将目录路径注册到系统中,并为其定义使用别名。wind框架通过import方法加载类(只支持类加载),并提供autoload支持。通过路径别名与import机制简化了路径使用、工程部署,即用即加载的模式大大提高了类加载的效率。

  组件工厂机制

  组件工厂机制是wind框架核心的基础。它基于Ioc控制反转和依赖注入的技术实现,为整个框架提供了松耦合的组件管理机制,从程序逻辑中分离出类的依赖关系和配置。组件工厂机制提供了丰富的特性支持:组件(创建、注销、获取)管理、多生命周期、配置解析管理、代理模式、lazy-init延迟加载等。通过组件工厂机制统一并简化了组件的开发与使用。

  视图管理,多模板引擎支持

  在wind框架强大的组件机制的基础上,视图管理提供了多模板引擎的支持。wind viewer组件包提供了'WindNormalViewerResolver'、'WindViewerResolver'两个视图渲染引擎。同时也支持第三方渲染引擎例如‘smarty’等。框架默认采用'WindViewerResolver'进行视图渲染,该视图渲染器支持模板编译和标签扩展。

  主题与皮肤(themes)

  wind框架中支持简单的主题与皮肤管理,通过为视图设置主题,应用可以轻松的实现多风格的支持与切换。

  模板视图的布局管理(layout)

  布局管理是通过为应用定义布局模板文件,来实现可以模板的统一布局。 wind框架支持为整个应用定义一种布局模板,也支持为每个操作定义不同的布局模板。默认情况系统不开启布局管理的,可以通过设置布局文件开启布局管理。

  模板标签支持

  wind框架默认采用了‘WindViewerResolver’视图渲染器,这个视图渲染器支持模板编译以及基于配置的自定义标签扩展。开发者可以根据需求,自定义模板标签。wind框架默认实现了几种常用标签:action、echo、lang、template、token等。

  数据输出安全过滤及数据格式化支持

  基于模板标签体系,wind框架实现了强大的数据输出支持:安全输出过滤、数据格式化等。基于这个特性,开发者可以方便的在页面以想要的格式进行变量输出,而无需担心安全问题以及数据格式化问题。

  Cache

  wind框架默认提供了cache组件和cache支持。cache组件采用了面向接口的组件设计思路,为cache使用者提供标准的cache接口定义,以及多种cache方案的实现。

  DB

  简单高效的数据持久层方案‘WindConnection’,这是一个基于PDO的数据持久化解决方案。它支持‘WindConnection’简单链接、‘WindConnectionManager’分布式链接管理两种链接模式。两种方案可以实现无缝的切换。

  请求的预处理与后处理(filter chain)

  wind框架采用了拦截过滤器模式,对请求的预处理和后处理进行了拦截和策略部署支持。开发者可以基于配置很方便的使用该特性在请求的预处理或后处理位置添加、删除、修改控制逻辑代码。

  路由协议链,多路由协议支持

  路由是wind mvc模式中的重要组件,wind框架提供了路由支持,它采用过滤链的模式来实现,一个路由器可以挂载多种路由协议。程序会根据挂载的顺序,依次去加载路由协议,直到找到可以处理当前请求的路由协议。

  Form表单对象&验证

  web mvc 默认提供了对表单处理的支持。开发者可以为一次请求创建一个表单对象,系统将会在处理具体的操作前初始化这个表单对象以及完成表单验证等工作。开发者无需在代码逻辑里面操作大量的表单数据的赋值验证,简化了开发。

  ErrorHandler自定义错误处理句柄

  自定义错误句柄是web mvc提供的又一个特性支持。wind框架默认为mvc提供了错误处理句柄‘WindErrorHandler’,默认的错误页面指向‘web/view’。开发者可以通过应用配置来指向自定义的错误处理句柄,可以为每一个module定义‘ErrorHandler’,也可以为每一个action自定义‘ErrorHandler’。wind框架在自定义配置上提供了强大且灵活的支持。

  异常体系与Logger日志

  两种基本的异常类型:‘WindFinalException’、‘WindException’。前者是终极异常,抛出该类异常表示不希望异常被系统处理而直接抛出;后者是通用异常类型,大部分自定义异常都需要继承该异常类型,该异常会被系统的错误体系处理。Logger组件,通过调用Logger组件开发者可以很方便的输出log信息,支持分类、分组输出。目前只支持本地化的文件log记录。

  多种开发模式支持WIND_DEBUG

  WIND_DEBUG支持多种模式:window、log、window&log。开发者可以通过设置‘WIND_DEBUG’这个常量的值定义wind的工作模式。

  国际化(i18n)

  简单的国际化支持:变量、语言模板等。

  安全(security)

  输入输出安全过滤,通过内置在相应的组件管理中,透明化了对数据安全的处理。wind框架还提供了security安全工具包例如:加密、解密、token等。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

入社してキャッシュとは何かを理解した 入社してキャッシュとは何かを理解した Jul 31, 2023 pm 04:03 PM

実際は次のようなものです。当時、私のリーダーは私に perf ハードウェア パフォーマンス監視タスクを与えました。perf を使用するプロセス中に、コマンド perf list を入力すると、次の情報が表示されました。私のタスクは、これらのキャッシュ イベントを有効にすることです。しかし重要なのは、これらのミスやロードが何を意味するのか全く分からないということです。

PHP MVC アーキテクチャ: 将来に向けた Web アプリケーションの構築 PHP MVC アーキテクチャ: 将来に向けた Web アプリケーションの構築 Mar 03, 2024 am 09:01 AM

はじめに 今日の急速に進化するデジタル世界では、堅牢かつ柔軟で保守可能な WEB アプリケーションを構築することが重要です。 PHPmvc アーキテクチャは、この目標を達成するための理想的なソリューションを提供します。 MVC (Model-View-Controller) は、アプリケーションのさまざまな側面を独立したコンポーネントに分離する、広く使用されている設計パターンです。 MVC アーキテクチャの基礎 MVC アーキテクチャの核となる原則は、関心事の分離です。 モデル: アプリケーションのデータとビジネス ロジックをカプセル化します。ビュー: データの表示とユーザー インタラクションの処理を担当します。コントローラー: モデルとビュー間の対話を調整し、ユーザーのリクエストとビジネス ロジックを管理します。 PHPMVC アーキテクチャ phpMVC アーキテクチャは従来の MVC パターンに従いますが、言語固有の機能も導入しています。以下はPHPMVCです

キャッシュを使用するとコンピュータの速度が向上するのはなぜですか? キャッシュを使用するとコンピュータの速度が向上するのはなぜですか? Dec 09, 2020 am 11:28 AM

キャッシュを使用すると、CPU の待ち時間が短縮されるため、コンピューターの速度が向上します。キャッシュは、CPU とメイン メモリ DRAM の間に位置する小さいながらも高速なメモリです。キャッシュの機能はCPUのデータ入出力速度を高めることであり、キャッシュは容量は小さいが速度が速く、メモリは速度は低いが容量が大きいため、スケジューリングアルゴリズムを最適化することでシステムのパフォーマンスを向上させることができます。大幅に改善されました。

キャッシュとは何ですか? キャッシュとは何ですか? Nov 25, 2022 am 11:48 AM

キャッシュはキャッシュメモリと呼ばれ、中央処理装置とメインメモリの間にある高速かつ小容量のメモリで、通常は高速SRAMで構成され、CPU向けのこの種のローカルメモリが導入されています。 CPU とメモリ間の速度差がシステム パフォーマンスに及ぼす影響を軽減または排除します。キャッシュ容量は小さいですが高速、メモリ速度は遅いですが容量は大きく、スケジューリングアルゴリズムを最適化することでシステムのパフォーマンスが大幅に向上します。

PHP MVC アーキテクチャの上級ガイド: 高度な機能のロックを解除する PHP MVC アーキテクチャの上級ガイド: 高度な機能のロックを解除する Mar 03, 2024 am 09:23 AM

MVC アーキテクチャ (モデル-ビュー-コントローラー) は、コードを編成し、WEB アプリケーションの開発を簡素化するための明確な構造を提供するため、PHP 開発で最も一般的なパターンの 1 つです。基本的な MVC 原則はほとんどの Web アプリケーションには十分ですが、複雑なデータを処理したり高度な機能を実装する必要があるアプリケーションにはいくつかの制限があります。モデル層の分離 モデル層の分離は、高度な MVC アーキテクチャでは一般的な手法です。これには、モデル クラスを小さなサブクラスに分割し、それぞれが特定の機能に焦点を当てることが含まれます。たとえば、電子商取引アプリケーションの場合、メイン モデル クラスを注文モデル、製品モデル、顧客モデルに分割できます。この分離により、コードの保守性と再利用性が向上します。依存関係注入を使用する

nginx リバースプロキシキャッシュのチュートリアル。 nginx リバースプロキシキャッシュのチュートリアル。 Feb 18, 2024 pm 04:48 PM

nginx リバース プロキシ キャッシュのチュートリアルは次のとおりです。 nginx のインストール: sudoaptupdatesudoaptinstallnginx リバース プロキシの構成: nginx 構成ファイルを開きます: sdonano/etc/nginx/nginx.conf キャッシュを有効にするには、http ブロックに次の構成を追加します: http{...proxy_cache_path /var/cache/nginxlevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;proxy_cache

キャッシュ、rom、ramの特徴は何ですか? キャッシュ、rom、ramの特徴は何ですか? Aug 26, 2022 pm 04:05 PM

キャッシュの特徴:CPUとメインメモリの間に設けられた1層または2層の高速かつ小容量のメモリで、コンピュータの電源を切ると情報は自然に失われます。 ROM の特性: メモリからデータを読み取ることのみが可能ですが、情報を書き込むことはできず、コンピュータの電源を切ってもデータは残ります。 ram の特性: メモリからデータを読み取り、メモリに情報を書き込むことができます。プログラムの実行に必要なコマンド、プログラム、およびデータを保存するために使用されます。コンピュータの電源がオフになると、情報は自然に失われます。

SpringBootプロジェクトでキャッシュを使用する方法 SpringBootプロジェクトでキャッシュを使用する方法 May 16, 2023 pm 02:34 PM

Preface キャッシュは、頻繁にアクセスされるデータをメモリに保存し、データベースなどの基盤となるデータ ソースへの負担を軽減することで、システムのパフォーマンスと安定性を効果的に向上させることができます。誰もがプロジェクトで多かれ少なかれこれを使用したことがあると思いますが、私たちのプロジェクトも例外ではありませんでしたが、最近会社のコードをレビューしていたとき、非常に愚かでレベルの低い記述でした。 {Useruser=cache.getUser();if(user!=null){returnuser;}//データベースからユーザーを取得=loadFromDB(id);cahce.put(id,user);returnu

See all articles