Download the PHP package ajiho/think-smarty without Composer

On this page you can find all versions of the php package ajiho/think-smarty. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package think-smarty

think-smarty

基于thinkphp6封装的smarty模板引擎

为什么要封装think-smarty

虽然现在流行前后端分离,但是有时难免要用一下mvc这种开发方式做一些小项目,但是think php的模板引擎(ThinkTemplate) 在phpstorm中格式化html代码时会各种代码错乱和报错,开发起来特别闹心

ThinkTemplate

图片备注

think-smarty

图片备注

think-smarty的优点

安装

配置文件

安装完毕后会自动生成/config/smarty.php

phpstorm设置

然后根据配置文件smarty.phpphpstorm进行相应的设置,就可以舒适的开发啦

ctrl+alt+s,搜索smarty就可以打开如下设置面板

图片备注

注意:设置后要重启phpstorm才会生效

助手函数

函数名 描述
smarty 返回smarty对象(可用于调用smarty实例的一些属性和方法等)
smarty_assign 给视图文件赋值
smarty_fetch 返回一个模板解析后的字符串
smarty_display 直接输出模板到客户端

模板变量

模板赋值

保留变量

Smarty提供了一个保留变量$smarty,可以用于一些原生php的常用的系统变量的获取

但是对于thinkphp框架我们知道它的SESSION或者一些路由参数,我们用原生的php 是获取不到的,必须要用框架的方法才能获取,因此think-smarty也保留了一个 全局变量$think(相当于应用实例$app),我们可以用它来快速获取到框架相关的东西

它的原理是其实就是类似下面的操作

因此你要是想对你的应用进行全局变量的赋值,可以创建一个BaseController控制器在构 造函数中使用smarty_assign方法赋值即可

模板渲染

为了更好的理解think-smarty设计的目录结构,我们先看一看,Smarty的原生集成

所以你项目的目录结构可能是下面这样

图片备注

通过以上示例,我们发现Smarty是有自定义自己的配置、插件、编译、缓存、模板目录功能的,虽然 配置、和插件功能用到的几率比较低,但是think-smarty的封装不会阉割smarty的功能, 因此think-smarty对配置、插件、编译、缓存、模板目录在thinkphp6.x中做了最佳实践

对于缓存和编译目录,放到了项目的runtime目录方便项目上线时只要统一给该目录设置 读写权限即可。

如果是多应用模式,会自动加上应用名称作为区分

模板路径

对于模板、配置、插件目录默认情况下,think-smarty会自动定位,优先定位应用目 录下的view目录作为smarty的工作空间目录

单应用模式

多应用模式

第二种方式是视图文件和应用类库文件完全分离,统一放置在根目录下的view目录。

单应用模式

多应用模式

模板渲染

PS:smarty_display()方法如果是在最后一行可以省略return

跨应用渲染模板

如果你的模板文件位置比较特殊或者需要自定义模板文件的位置,可以采用下面的方式处理

只要通过/开头的表示从整个项目根目录开始查找模板文件

资源类型

我们知道Smarty支持指定资源类型渲染 https://www.smarty.net/docs/zh_CN/resources.tpl

也支持指定任意的绝对路径

直接渲染内容

输出替换

smarty.php配置文件中添加替换规则即可

利用smarty的特性-conf配置文件

static_path.conf的内容如下

在tpl模板中使用方式有两种方法来读取配置

反馈

开发过程发现有任何问题,欢迎大家提交Issue。


All versions of think-smarty with dependencies

PHP Build Version
Package Version
Requires topthink/framework Version ^6.0 || ^8.0
smarty/smarty Version ~4.4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ajiho/think-smarty contains the following files

Loading the files please wait ....