目录
Symfoy2 是什么(转),symfoy2
一转是什
(转)相由心生 境随心转是什?
首页 php教程 php手册 Symfoy2 是什么(转),symfoy2

Symfoy2 是什么(转),symfoy2

Jun 13, 2016 am 09:24 AM
http 是什么

Symfoy2 是什么(转),symfoy2

本文转自:http://www.cnblogs.com/Seekr/archive/2012/06/15/2550894.html

Symfoy2 是什么?

PHP世界里又一广受关注的web MVC框架? Fabien Potencier 却不这么说!

Fabien Potencier这样定义Symfoy2 是个什么东西: 

  首先,Symfony2 是一个独立,松散的,有组织严密的PHP组件集合,它可以为你解决一些web开发中遇到的一般性问题。

  其次,基于这些组件,Symfoy2 也可以作为一个独立的web框架使用。

那么Symfony2 是一个MVC框架吗?

Fabien Potencier 说Symfony2从来没有把自己定义为一个MVC框架!

那它是什么? Fabien Potencier 我们从来不关心MVC模式,关心的只有各个关注点的分离(separation of concerns)。

但是Symfony2 还是提供了部分的MVC模式的实现:比如Controller部分,View部分却没有Mode部分不过你可以通过和它紧密继承的ORM(Doctrine2和Propel)实现。

 

从这个角度看Symfony的确也没有逃出web MVC框架的圈子啊!!!

Fabien Potencier 又说Symfony2从来就没有想靠这些ORM来使自己成为另一个MVC的追随者,我们的目标更远大!

 

告诉你吧, Symfony2 是一个HTTP框架或者说是一个Request/Response 框架。我们紧盯的目标不是MVC模式,而是HTTP协议,我们是更低级的更基础的框架。

我们为什么要这么说呢? 有根据的!

近几年随着web的发展,有时候你只需要创建一组REST API,所有的逻辑都放到浏览器端,服务器端只提供数据就是一种web了。不信你看 backbone.js !

再说了,MVC模式只不过是Web 应用程序的其中一种实现方式罢了。

剥去所有框架模式的皮,你看看那个web程序不是处理一个接收到的Request然后返回一个Response啊?

我们Symfony2 抓住的就是web程序的根本! 再说我们众多的HTTP流媒体有哪个会选择使用MVC呢?

总之,我们Symfony2比MVC更靠近根本,我们更底层,更通用!!!

 

说起Symfony2,Fabien Potencier说我们有着更加远大的目标,怎么解释呢?

Symfony2 将继续专注于Pack技术的研究和创新!我们相信她会继续推动web的向前发展。

先看看Symfony2 中我们已经包含的创新吧!

从Bundles,HTTP 缓存,分布式,依赖注入,模板引擎,声明式配置,资产管理,稳定的API到web分析器等等一系列技术都对web的发展起到了巨大的推动作用。

 

“ 要知道一个独立的框架永远不可能成为PHP世界里的一个标准,所以Symfony2 在探寻另外一条路!”

“ 共享无处不在。”

“ 我们不能重复制造轮子。”

因此,我们紧密的集成了Monolog,Composer,Doctrine,Propel,Assetic,Twig,Swiftmailer等伟大产品。

更重要的是我们想跟大家分享我们的工作!

所以,我们最终选择了走组件(components)化这条路!

我们将为一切web项目提供建筑模块,无论是个人项目还是商业项目,更或者是开源项目!

 

据说在Symfony2 的代码中可能会有标志为@api的类或者方法,它意味着一个方法从名字到参数以及返回值都不会因为Symfony2发展版本而变化,所以,如果

你的项目只使用了这些,那么你就不用担心Symfony2的版本升级问题。

 

看看Symfony2 现在拥有的组件吧:

DependencyInjection
EventDispatcher
HttpFoundation
DomCrawler
ClassLoader
CssSelector
HttpKernel
BrowserKit
Templating
Translation
Serializer
Validator
Security
Routing
Console
Process
Config
Finder
Locale
Yaml
Form

Fabien 简单介绍了几个bundle:

1. ClassLoader:

  实现了PSR-o 标准(自动加载具有命名空间的类,适用于PHP5.3以上)的自动加载器,同时它也能按照PEAR命名规则加载类。它非常灵活可以基于子命名空间在不同的目录中查询要加载的类。你甚至可以为一个命名空间指定多个目录。

<span> 1</span> <span>require_once</span> __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php'<span>;
</span><span> 2</span>  
<span> 3</span> <span>use</span><span> Symfony\Component\ClassLoader\UniversalClassLoader;
</span><span> 4</span>  
<span> 5</span> <span>$loader</span> = <span>new</span><span> UniversalClassLoader();
</span><span> 6</span> <span>$loader</span>->registerNamespaces(<span>array</span><span>(
</span><span> 7</span>     'Symfony'          => <span>array</span>(__DIR__.'/src', __DIR__.'/symfony/src'),
<span> 8</span>     'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib',
<span> 9</span>     'Doctrine\\DBAL'   => __DIR__.'/vendor/doctrine-dbal/lib',
<span>10</span>     'Doctrine'         => __DIR__.'/vendor/doctrine/lib',
<span>11</span>     'Monolog'          => __DIR__.'/vendor/monolog/src',
<span>12</span> <span>));
</span><span>13</span> <span>$loader</span>->registerPrefixes(<span>array</span><span>(
</span><span>14</span>     'Twig_' => __DIR__.'/vendor/twig/lib',
<span>15</span> <span>));
</span><span>16</span> <span>$loader</span>->register();
登录后复制

如果你想获取更加高的执行效率,可以选择使用APC缓存版Universal类加载器。

2.Console 命令行工具

在创建web应用程序时使用命令行工具很方便,你可以想如下代码一样创建自己的命令行工具:

<span> 1</span> <span>use</span><span> Symfony\Component\Console\Application;
</span><span> 2</span> <span>use</span><span> Symfony\Component\Console\Input\InputInterface;
</span><span> 3</span> <span>use</span><span> Symfony\Component\Console\Input\InputArgument;
</span><span> 4</span> <span>use</span><span> Symfony\Component\Console\Input\InputOption;
</span><span> 5</span> <span>use</span><span> Symfony\Component\Console\Output\OutputInterface;
</span><span> 6</span>  
<span> 7</span> <span>$console</span> = <span>new</span><span> Application();
</span><span> 8</span> <span>$console</span>
<span> 9</span>     ->register('ls'<span>)
</span><span>10</span>     ->setDefinition(<span>array</span><span>(
</span><span>11</span>         <span>new</span> InputArgument('dir', InputArgument::REQUIRED, 'Directory name'),
<span>12</span> <span>    ))
</span><span>13</span>     ->setDescription('Displays the files in the given directory'<span>)
</span><span>14</span>     ->setCode(<span>function</span> (InputInterface <span>$input</span>, OutputInterface <span>$output</span><span>) {
</span><span>15</span>         <span>$dir</span> = <span>$input</span>->getArgument('dir'<span>);
</span><span>16</span>  
<span>17</span>         <span>$output</span>->writeln(<span>sprintf</span>('Dir listing for <info>%s</info>', <span>$dir</span><span>));
</span><span>18</span> <span>    })
</span><span>19</span> <span>;
</span><span>20</span> <span>$console</span>->run();
登录后复制

3.YAML 一种现在很流行的配置格式。

<span>use</span><span> Symfony\Component\Yaml\Yaml;
 
</span><span>$array</span> = Yaml::parse(<span>$file</span><span>);
 
</span><span>print</span> Yaml::dump(<span>$array</span>);
登录后复制

4. Finder 优秀文件资源的操作接口。

<span> 1</span> <span>use</span><span> Symfony\Component\Finder\Finder;
</span><span> 2</span>  
<span> 3</span> <span>$finder</span> = <span>new</span><span> Finder();
</span><span> 4</span>  
<span> 5</span> <span>$iterator</span> = <span>$finder</span>
<span> 6</span>   -><span>files()
</span><span> 7</span>   ->name('*.php'<span>)
</span><span> 8</span>   ->depth(0<span>)
</span><span> 9</span>   ->size('>= 1K'<span>)
</span><span>10</span>   -><span>in(__DIR__);
</span><span>11</span>  
<span>12</span> <span>foreach</span> (<span>$iterator</span> <span>as</span> <span>$file</span><span>) {
</span><span>13</span>     <span>print</span> <span>$file</span>->getRealpath()."\n"<span>;
</span><span>14</span> }
登录后复制

你甚至可以用它获取远程服务器文件系统中的资源,比如获取Amazon S3上的文件:

<span>1</span> <span>$s3</span> = <span>new</span> \Zend_Service_Amazon_S3(<span>$key</span>, <span>$secret</span><span>);
</span><span>2</span> <span>$s3</span>->registerStreamWrapper("s3"<span>);
</span><span>3</span>  
<span>4</span> <span>$finder</span> = <span>new</span><span> Finder();
</span><span>5</span> <span>$finder</span>->name('photos*')->size('< 100K')-><span>date</span>('since 1 hour ago'<span>);
</span><span>6</span> <span>foreach</span> (<span>$finder</span>->in('s3://bucket-name') <span>as</span> <span>$file</span><span>) {
</span><span>7</span>     <span>print</span> <span>$file</span>->getFilename()."\n"<span>;
</span><span>8</span> }
登录后复制

5.Process 进程组件,你可以用来在一个外部进程中执行命令!下面例子是执行一个简单的目录列表命令并返回结果:

<span> 1</span> <span>use</span><span> Symfony\Component\Process\Process;
</span><span> 2</span>  
<span> 3</span> <span>$process</span> = <span>new</span> Process('ls -lsa'<span>);
</span><span> 4</span> <span>$process</span>->setTimeout(3600<span>);
</span><span> 5</span> <span>$process</span>-><span>run();
</span><span> 6</span> <span>if</span> (!<span>$process</span>-><span>isSuccessful()) {
</span><span> 7</span>     <span>throw</span> <span>new</span> RuntimeException(<span>$process</span>-><span>getErrorOutput());
</span><span> 8</span> <span>}
</span><span> 9</span>  
<span>10</span> <span>print</span> <span>$process</span>->getOutput();
登录后复制

如果你想监控执行过程,你可以给run方法传入一个匿名方法:

<span> 1</span> <span>use</span><span> Symfony\Component\Process\Process;
</span><span> 2</span>  
<span> 3</span> <span>$process</span> = <span>new</span> Process('ls -lsa'<span>);
</span><span> 4</span> <span>$process</span>->run(<span>function</span> (<span>$type</span>, <span>$buffer</span><span>) {
</span><span> 5</span>     <span>if</span> ('err' === <span>$type</span><span>) {
</span><span> 6</span>         <span>echo</span> 'ERR > '.<span>$buffer</span><span>;
</span><span> 7</span>     } <span>else</span><span> {
</span><span> 8</span>         <span>echo</span> 'OUT > '.<span>$buffer</span><span>;
</span><span> 9</span> <span>    }
</span><span>10</span> });
登录后复制

6.DomCrawler jQuery的php版本!你可以用它导航定位HTML的DOM结构或者XML文档。

<span>1</span> <span>use</span><span> Symfony\Component\DomCrawler\Crawler;
</span><span>2</span>  
<span>3</span> <span>$crawler</span> = <span>new</span><span> Crawler();
</span><span>4</span> <span>$crawler</span>->addContent('<html><body><p>Hello World!</p></body></html>'<span>);
</span><span>5</span>  
<span>6</span> <span>print</span> <span>$crawler</span>->filterXPath('descendant-or-self::body/p')->text();
登录后复制

7.CssSelector 我们经常用XPath来访问Dom结构,其实用Css 选择器更加容易,这个组件就是把Css选择器转为XPath等效的东西。

<span>1</span> <span>use</span><span> Symfony\Component\CssSelector\CssSelector;
</span><span>2</span>  
<span>3</span> <span>print</span> CssSelector::toXPath('div.item > h4 > a');
登录后复制

所以你可以使用CssSelector 和DomCrawler来替代XPath:

<span>1</span> <span>use</span><span> Symfony\Component\DomCrawler\Crawler;
</span><span>2</span>  
<span>3</span> <span>$crawler</span> = <span>new</span><span> Crawler();
</span><span>4</span> <span>$crawler</span>->addContent('<html><body><p>Hello World!</p></body></html>'<span>);
</span><span>5</span>  
<span>6</span> <span>print</span> <span>$crawler</span>->filter('body > p')->text();
登录后复制

8.HttpFoundation

该组件只是在PHP的相关web内容上面增加了一个面向对象层,包括Request,Response,Uploaded files,Cookies,Sessions...

<span>1</span> <span>use</span><span> Symfony\Component\HttpFoundation\Request;
</span><span>2</span> <span>use</span><span> Symfony\Component\HttpFoundation\Response;
</span><span>3</span>  
<span>4</span> <span>$request</span> = Request::<span>createFromGlobals();
</span><span>5</span> <span>echo</span> <span>$request</span>->getPathInfo();
登录后复制

你用它可以很容易的创建自己的Request 和 Response:

<span>1</span> <span>$request</span> = Request::create('/?foo=bar', 'GET'<span>);
</span><span>2</span> <span>echo</span> <span>$request</span>-><span>getPathInfo();
</span><span>3</span> 
<span>4</span> 
<span>5</span> <span>$response</span> = <span>new</span> Response('Not Found', 404, <span>array</span>('Content-Type' => 'text/plain'<span>));
</span><span>6</span> <span>$response</span>->send();
登录后复制

9.Routing

路由组件和Request对象是相互配合着把Request转换为Response。

<span> 1</span> <span>use</span><span> Symfony\Component\HttpFoundation\Request;
</span><span> 2</span> <span>use</span><span> Symfony\Component\Routing\Matcher\UrlMatcher;
</span><span> 3</span> <span>use</span><span> Symfony\Component\Routing\RequestContext;
</span><span> 4</span> <span>use</span><span> Symfony\Component\Routing\RouteCollection;
</span><span> 5</span> <span>use</span><span> Symfony\Component\Routing\Route;
</span><span> 6</span>  
<span> 7</span> <span>$routes</span> = <span>new</span><span> RouteCollection();
</span><span> 8</span> <span>$routes</span>->add('hello', <span>new</span> Route('/hello', <span>array</span>('controller' => 'foo'<span>)));
</span><span> 9</span>  
<span>10</span> <span>$context</span> = <span>new</span><span> RequestContext();
</span><span>11</span>  
<span>12</span> <span>//</span><span> this is optional and can be done without a Request instance</span>
<span>13</span> <span>$context</span>->fromRequest(Request::<span>createFromGlobals());
</span><span>14</span>  
<span>15</span> <span>$matcher</span> = <span>new</span> UrlMatcher(<span>$routes</span>, <span>$context</span><span>);
</span><span>16</span>  
<span>17</span> <span>$parameters</span> = <span>$matcher</span>->match('/hello');
登录后复制

10.EventDispatcher

<span> 1</span> <span>use</span><span> Symfony\Component\EventDispatcher\EventDispatcher;
</span><span> 2</span> <span>use</span><span> Symfony\Component\EventDispatcher\Event;
</span><span> 3</span>  
<span> 4</span> <span>$dispatcher</span> = <span>new</span><span> EventDispatcher();
</span><span> 5</span>  
<span> 6</span> <span>$dispatcher</span>->addListener('event_name', <span>function</span> (Event <span>$event</span><span>) {
</span><span> 7</span>     <span>//</span><span> ...</span>
<span> 8</span> <span>});
</span><span> 9</span>  
<span>10</span> <span>$dispatcher</span>->dispatch('event_name');
登录后复制

11.DependencyInjection

<span>use</span><span> Symfony\Component\DependencyInjection\ContainerBuilder;
</span><span>use</span><span> Symfony\Component\DependencyInjection\Reference;
 
</span><span>$sc</span> = <span>new</span><span> ContainerBuilder();
</span><span>$sc</span>
    ->register('foo', '%foo.class%'<span>)
    </span>->addArgument(<span>new</span> Reference('bar'<span>))
;
</span><span>$sc</span>->setParameter('foo.class', 'Foo'<span>);
 
</span><span>$sc</span>->get('foo');
登录后复制

12.HttpKernel

Http 内核组件提供了HTTP协议中最有活力的部分,以下面接口的形式定义展示,它也是Symfony2框架的核心。

<span> 1</span> <span>interface</span><span> HttpKernelInterface
</span><span> 2</span> <span>{
</span><span> 3</span>     <span>/*</span><span>*
</span><span> 4</span> <span>     * Handles a Request to convert it to a Response.
</span><span> 5</span> <span>     *
</span><span> 6</span> <span>     * @param  Request $request A Request instance
</span><span> 7</span> <span>     *
</span><span> 8</span> <span>     * @return Response A Response instance
</span><span> 9</span>      <span>*/</span>
<span>10</span>     <span>function</span> handle(Request <span>$request</span>, <span>$type</span> = self::MASTER_REQUEST, <span>$catch</span> = <span>true</span><span>);
</span><span>11</span> }
登录后复制

它接受一个Request输入并返回一个Response输出。 只要遵循这个接口规定,你就能使用Symfony2中所有的精彩内容。

下面使用Symfony2 组件来创建一个简单的框架:

<span> 1</span> <span>$routes</span> = <span>new</span><span> RouteCollection();
</span><span> 2</span> <span>$routes</span>->add('hello', <span>new</span> Route('/hello', <span>array</span>('_controller' =>
<span> 3</span>     <span>function</span> (Request <span>$request</span><span>) {
</span><span> 4</span>         <span>return</span> <span>new</span> Response(<span>sprintf</span>("Hello %s", <span>$request</span>->get('name'<span>)));
</span><span> 5</span> <span>    }
</span><span> 6</span> <span>)));
</span><span> 7</span>  
<span> 8</span> <span>$request</span> = Request::<span>createFromGlobals();
</span><span> 9</span>  
<span>10</span> <span>$context</span> = <span>new</span><span> RequestContext();
</span><span>11</span> <span>$context</span>->fromRequest(<span>$request</span><span>);
</span><span>12</span>  
<span>13</span> <span>$matcher</span> = <span>new</span> UrlMatcher(<span>$routes</span>, <span>$context</span><span>);
</span><span>14</span>  
<span>15</span> <span>$dispatcher</span> = <span>new</span><span> EventDispatcher();
</span><span>16</span> <span>$dispatcher</span>->addSubscriber(<span>new</span> RouterListener(<span>$matcher</span><span>));
</span><span>17</span>  
<span>18</span> <span>$resolver</span> = <span>new</span><span> ControllerResolver();
</span><span>19</span>  
<span>20</span> <span>$kernel</span> = <span>new</span> HttpKernel(<span>$dispatcher</span>, <span>$resolver</span><span>);
</span><span>21</span>  
<span>22</span> <span>$kernel</span>->handle(<span>$request</span>)->send();
登录后复制

ok, 这就是框架了!

如果想添加一个HTTP反向代理以获取HTTP caching和ESI(Edge Side Includes)带来的好处,那么这样做!

<span>1</span> <span>$kernel</span> = <span>new</span> HttpKernel(<span>$dispatcher</span>, <span>$resolver</span><span>); 
</span><span>2</span>  
<span>3</span> <span>$kernel</span> = <span>new</span> HttpCache(<span>$kernel</span>, <span>new</span> Store(__DIR__.'/cache'));
登录后复制

想对它做一下功能测试:

<span>1</span> <span>$client</span> = <span>new</span> Client(<span>$kernel</span><span>);
</span><span>2</span> <span>$crawler</span> = <span>$client</span>->request('GET', '/hello/Fabien'<span>);
</span><span>3</span>  
<span>4</span> <span>$this</span>->assertEquals('Fabien', <span>$crawler</span>->filter('p > span')->text());
登录后复制

想要一个好看的错误展示页面?

<span>1</span> <span>$dispatcher</span>->addSubscriber(<span>new</span> ExceptionListener(<span>function</span> (Request <span>$request</span><span>) {
</span><span>2</span>     <span>$msg</span> = 'Something went wrong! ('.<span>$request</span>->get('exception')->getMessage().')'<span>;
</span><span>3</span>  
<span>4</span>     <span>return</span> <span>new</span> Response(<span>$msg</span>, 500<span>);
</span><span>5</span> }));
登录后复制

 

一转是什

(1).转动一次;旋转一圈。 南朝 梁武帝 《白紵辞》:“短歌流目未肯前,含笑一转私自怜。” 唐 顾况 《悲歌》之二:“我心皎洁君不知,辘轳一转一惆怅。” 元 王实甫 《西厢记》第一本第一折:“怎当他临去秋波那一转!”《儿女英雄传》第四回:“且说那女子把那石头撂倒在平地上,用右手推着一转,找着那个关眼儿伸进两个指头去勾住了。”

(2).提炼一次。 晋 葛洪 《抱朴子·金丹》:“其一转至九转,迟速各有日数,多少以此知之耳。”

(3).计算一遍。 南朝 宋 刘义庆 《世说新语·文学》:“尝算浑天不合,诸弟子莫能解。或言 玄 ( 郑玄 )能者。 融 ( 马融 )令算,一转便决。”

(4).四周。《儒林外史》第十四回:“两边一望,一边是江,一边是湖,又有那山色一转围着。”《儒林外史》第三十回:“诸名士看这湖亭时,轩窗四起,一转都是湖水围绕。”

(1).转换勋阶一次。《新唐书·太宗纪》:“从伐 高丽 无功者,皆赐勋一转。”

(2).表数量。 清 翟灏 《通俗编·数目》引 李翊 《俗呼小录》:“ 杭州 以柴四圆箍为一转。”

ZDIC.NET 汉 典 网
【一转语】 禅宗机锋往来的关键处,称“玄关”。破“玄关”必须亲证实悟。以片言只语,拨转对方的心机,使之冲破“玄关”,“柳暗花明又一村”,谓之“转语”。《景德传灯录·百丈怀海禅师》指出:“古人只错对一转语,五百生堕野狐身。”可见“转语”的重要。举几个例子。问:“不起一念有过无过?”答:“须弥山。”又如问;“磨砖岂成镜耶?”答:“磨砖既不成镜,坐禅岂得成佛耶!”后亦用“一转语”指别出心裁。如宋·张元干《青玉案》词序:“贺方回所作,世间和韵者多矣。余经行松江,何啻百回,念欲下一转语。”也指用一二句话让人恍然大悟。如胡适《尝试篇》:“尝试成功自古无,放翁此语未必是;我今为下一转语,自古成功在尝试。”
 

(转)相由心生 境随心转是什?

这句应该算是老生常谈了,但是对于情绪和心境的控制并不是时时刻刻都能做得那么好。也会偶有愤怒,妒嫉,怨恨产生。从前一直说自己是个不懂掩藏情绪的人,喜怒哀乐全部写在脸上。乍一听好像说的是种直率,但其实不然。直至一日在我因为某事极度悲愤而又试图掩盖时,仍然被一位心细的朋友发现并且直言:你板着脸的时候真的很难看。­原来不是要懂得隐藏不好的情绪,如果坏情绪不走,是无法从根本上改变周遭的;我们做的是要懂得如果化解不好的情绪。 现在资源信息发达,有很多途径可以读到好的文字和文章,在此愿以好文与大家分享。 希望我们都能做一个懂得自己,懂得如何让自己快乐和幸福的自己。 --------------------------------------共享的分割线------------------------------------ 【转载】文章来源:天机文献 在古代,形成了一种预测术面相学,是专门以人的五官所储存的信息来推断一个人的祸、福、吉、凶的,面相学,是中国人家喻户晓的,俗话说:人是一面相。一眼就能看出一个人的五观及外貌,同时带给人的第一感观及印象。当你走到大街上或者是去自由市场,走一走,看一看,哪是正人君子,哪是小偷,你一眼就能认出来,因为小偷跟正常人的眼神不一样。 在国民革命时期,中国正处在乱世之秋,龙蛇混杂,草莽逞英雄时代,社会秩序很乱在大上海警察局里,就有一位精通。相法的巡警,凡是他所见到的贼眉鼠眼之人见了就抓每当审问后所抓之人均供认,曾有过偷窃和做坏事的行为,他能抓十个准十个,这就说明:他所掌握的相法是准确的,科学的。 其实,人一生下来,一生中的吉凶祸福,全都包含在人的五官当中人的五官相就是一副人的生命信息图,人的寿命的长短,父母的早亡,子女的多少,兄弟的祸福,婚姻的克离,无不表现在人的五官之中。为什么心地善良的人,他所长的相貌就和善心地凶恶的人,所长出的相貎就狡狯呢?这就反出了一条亘古不变的哲理一相心生。 心是人们常说的内心深处的思维活动,并不单纯指的是人的心脏。内心里想的什么,在五官上就能现表什么。当一个人内心有兴奋的或有使人高兴的事情,这个人就笑口常开,让别人一看便知道在他身上一定有喜悦的事情发生。相反当一个人有悲伤的事情发生,表现在他面上则是哭丧的表情。总之,人的喜、怒、哀、乐、悲、思、恐、惊无不表现在五官相上,五官就是一个很精确的测量仪。 黄帝内经中有表里如一论,外是由内而发,内则靠外来表现。当一个有胃病的人,去看医生,医师则用望、闻、问、切给他诊病,当医生看到病人的鼻准头有红而赤的颜色时,就能判断出此人有胃病,这就是全息理论表现形式。人的思维也是一样,当一个人对另一个人有深仇大恨,并且想杀掉这个人要报仇的时候,他的两眼足以能喷出火来,目露凶光,双目流露杀气,当他想找一位相师占卜一下,问一下行动是否成功的时候,相师就说:你目露杀气,请你不要挺而走险。 我认识一位爱好周易的老太太,约有六十来岁,大家都叫她苗坡。第一次与她相识,是在三角花‘园,她让我给她测一下运气。我看到她相上左边眼下卧蚕,有三条纹,最下面的一条纹,不是平直向左方伸展,而是向左下方穿过左颧,我间:苗姨,你的小女儿在家吗?她回答:哎呀,我就是为这事来预测的,小女儿随一个小伙子私奔了,现在不知道她去了什么地方?事过月余,再遇到苗太太时,间及小女儿的事,已经回家来了,再瞧瞧苗太太的那条卧蚕纹也平直伸展了。这就说明,相是随内心的思维而发生变化的。当她的小女儿走后,她整日里思念、烦恼,这种思维能量就表现在五官上了。相由心生,境随心转这句话出自佛教的揭语,被很多人经常挂在......余下全文>>
 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

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集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

请问ccsvchst.exe是哪种进程? 请问ccsvchst.exe是哪种进程? Feb 19, 2024 pm 11:33 PM

ccsvchst.exe是一种常见的进程文件,它是SymantecEndpointProtection(SEP)软件的一部分,而SEP则是一款由著名的网络安全公司Symantec开发的终端保护解决方案。作为该软件的一部分,ccsvchst.exe负责管理和监控SEP的相关进程。首先,我们来了解一下SymantecEndpointProtection(

http状态码520是什么意思 http状态码520是什么意思 Oct 13, 2023 pm 03:11 PM

http状态码520是指服务器在处理请求时遇到了一个未知的错误,无法提供更具体的信息。用于表示服务器在处理请求时发生了一个未知的错误,可能是由于服务器配置问题、网络问题或其他未知原因导致的。通常是由服务器配置问题、网络问题、服务器过载或代码错误等原因导致的。如果遇到状态码520错误,最好联系网站管理员或技术支持团队以获取更多的信息和帮助。

http状态码403是什么 http状态码403是什么 Oct 07, 2023 pm 02:04 PM

http状态码403是服务器拒绝了客户端的请求的意思。解决http状态码403的方法是:1、检查身份验证凭据,如果服务器要求身份验证,确保提供正确的凭据;2、检查IP地址限制,如果服务器对IP地址进行了限制,确保客户端的IP地址被列入白名单或未列入黑名单;3、检查文件权限设置,如果403状态码与文件或目录的权限设置有关,确保客户端具有足够的权限访问这些文件或目录等等。

理解网页重定向的常见应用场景并了解HTTP301状态码 理解网页重定向的常见应用场景并了解HTTP301状态码 Feb 18, 2024 pm 08:41 PM

掌握HTTP301状态码的含义:网页重定向的常见应用场景随着互联网的迅猛发展,人们对网页交互的要求也越来越高。在网页设计领域,网页重定向是一种常见且重要的技术,通过HTTP301状态码来实现。本文将探讨HTTP301状态码的含义以及在网页重定向中的常见应用场景。HTTP301状态码是指永久重定向(PermanentRedirect)。当服务器接收到客户端发

如何使用Nginx Proxy Manager实现HTTP到HTTPS的自动跳转 如何使用Nginx Proxy Manager实现HTTP到HTTPS的自动跳转 Sep 26, 2023 am 11:19 AM

如何使用NginxProxyManager实现HTTP到HTTPS的自动跳转随着互联网的发展,越来越多的网站开始采用HTTPS协议来加密传输数据,以提高数据的安全性和用户的隐私保护。由于HTTPS协议需要SSL证书的支持,因此在部署HTTPS协议时需要有一定的技术支持。Nginx是一款强大且常用的HTTP服务器和反向代理服务器,而NginxProxy

双核浏览器是什么浏览器 双核浏览器是什么浏览器 Feb 20, 2024 am 08:22 AM

双核浏览器是一种集成了两个不同浏览器内核的浏览器软件。内核是浏览器的核心部分,负责渲染网页内容和执行网页脚本等功能。传统浏览器一般只使用单一的内核,如IE浏览器使用Trident内核,Chrome浏览器使用WebKit/Blink内核,火狐浏览器使用Gecko内核等。而双核浏览器则将两个不同内核集成在一个浏览器中,用户可以根据需要自由切换使用。双核浏览器的出

C#中常见的网络通信和安全性问题及解决方法 C#中常见的网络通信和安全性问题及解决方法 Oct 09, 2023 pm 09:21 PM

C#中常见的网络通信和安全性问题及解决方法在当今互联网时代,网络通信已经成为了软件开发中必不可少的一部分。在C#中,我们通常会遇到一些网络通信的问题,例如数据传输的安全性、网络连接的稳定性等。本文将针对C#中常见的网络通信和安全性问题进行详细讨论,并提供相应的解决方法和代码示例。一、网络通信问题网络连接中断:网络通信过程中,可能会出现网络连接的中断,这会导致

http请求415错误解决方法 http请求415错误解决方法 Nov 14, 2023 am 10:49 AM

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。

See all articles