PHP柚子俱乐部
大学生就业难背景
phpparty123 发表于 2008-07-22 12:35:19
| 1结构性矛盾,供求错位 |
调查实证研究证明,"就业难"不是供给大于需求,而是就业结构性矛盾突出造成的一种阶段性社会现象。 一是高校专业设置与快速变化的市场需求错位。 二是人才结构失衡,供求矛盾加大。 在人才分布上,我国东部与西部、沿海地区与偏远山区、经济发达地区与欠发达地区,每万人中大学生占有量差距也很大,结构性矛盾仍然突出。 |
| 2选材要求高 | 应届生就业不吃香 在大学毕业生“就业难”的同时,用人单位也普遍存在着“选材难”。一企业投资管理有限公司每年招收的1000名员工中,只有40名是大学应届毕业生;一印刷有限公司的代表说,“尽管我们公司的栋梁和骨干全是大学生,企业的发展离不开大学生,但是,我们每年基本上不要应届大学生”。 |
| 3专业相同的人多 |
热门专业人才过剩 近年来,一些工科院校和具有专业特色的学校追求综合发展,纷纷上马热门专业,致使这些专业的毕业生就业难度加大。 北京高校毕业生就业指导中心主任任占忠认为,对于近年来盲目上马、目前就业较困难的专业,应坚决按教育部规定,区别具体情况减少或停止招生。 |
| 4薪酬逐年降低 | 市场只给1700元/月 这次关于大学生薪酬期望值的问卷调查结果显示,有66.4%的本科毕业生希望自己的月薪在2000元以上,但据北京和上海有关机构的调查结果显示,大学生月薪的市场值平均为1600~1700元/月,毕业生的期望值显然高出社会现实水准,也导致部分大学生“有业不就”。 |
| 5骗子,假招聘铺天盖地 |
有效招聘信息数量减少,许多骗子利用大学生求职心切和缺乏社会经验的弱点进行坑蒙拐骗。 一些企业利用当前大学生供过于求的形势,推出假招聘,先给出诱人的待遇条件,然后以培训等名义收取费用,再以试用不合格等理由辞退学生。大学生就业的招聘信息表面看渠道多,但有效的、实用的信息并不多,大学生获取真实有效的信息少,导致就业难。 |
![]()
| 1缺乏工作经验 | 教授多“教练”少 调查显示,大学生求职中遇到的最大困难是“缺乏工作经验”,占63%。我国的教育体制多年来按照一种模式培养人才,专业设置脱离社会需求,不注重学生实际能力的培养。大学生有的是专业知识,缺的是良好心理素质、礼仪和法律观念,大学里有的是教授,缺的是“教练”。 |
| 2怕吃苦,爱面子 |
许多企业反映,大学生做事眼高手低,知识脱离实际,不愿从基层做起,缺乏吃苦耐劳精神,比较爱面子,怕从事底层的工作被朋友亲戚看不起,人际沟通能力差,比较自私,因此不愿意接收应届大学生。 |
| 3频繁跳槽 | 大学生就业后稳定性差,是造成企业不愿意接收大学生的另一重要原因。 企业接收大学生后一两年内流失率在30%以上的达到被调查企业总数的50%。甚至像联想集团这样的大型企业,也认为他们为大学生高流失率“交的学费太高”。 |
| 4知识沉旧,转化率低 | 被调查的 60%企业反映,应届大学生到岗工作,学什么专业干什么工作,实际知识应用率不足40%,而且多数学生表现出所学过的知识转化不出来,不能变成自己在岗的实际能力。我国大学生一般适应周期在1-1.5年才能独立完成工作,而发达国家的大学生到岗适应期是在2-3个月。 |
| 5依赖性强,创造力弱 | 在现实生活中,"独立"在青年人身上只有小事自己做主,大事还得家长拿主意,我国部分大学生表现出"五靠":考大学靠压(家长监督学习);报自愿靠拍(家长定);上大学靠供(家长投资);找工作靠关系(家长运作);选择职业靠感觉(没有科学的分析,家长凭经验);大学生完全独立完成自己的意愿选专业、定职业,找工作的在被调查的群体中占 40%。 |
| 6准备不足,生涯模糊 | 60%的大学生没有"生涯"概念,更不知道自己的优势和劣势,对自己适合做什么,不适合做什么,哪些职位能成功,自己潜能有多大一概不知,到了大学毕业才"临时报佛脚",一大批学生有就业恐慌表现。 |
2008大学生就业形势分析
phpparty123 发表于 2008-07-18 14:34:16
2007年全国高校毕业生495万,比2006年增加85万人,2008年高校毕业生将达到559万,预计今后三年内还将以每年50万的速度增长。
根据国家劳动保障部的最新统计,2007年的就业状况很不理想。2007年全国普通高校毕业生人数达到495万,比2006年增加82万,同比增幅达19.9%。由于解决国有企业下岗失业人员历史遗留问题的任务仍然很重,新成长劳动力已进入高峰期,特别是高校毕业生近年增量多、压力大,整个就业市场需求岗位的总体状况相对趋紧。
在中国毕业生网最近发布的2007年和2008年大学生就业形势分析与预测报告中,使用了“就业寒流”来形容大学生就业形势,而根据今年的大学生就业情况来说我们只能用就业的冬天来描述2008年大学生就业形势。
这篇文章放到我博客里面不到两个月就突破8000人访问了,远远超过其他文章--从建立博客到现在其他文章都没有超过1000浏览的文章,从这里就可以看出2008年就业形式非常严峻!
上次10万大学生专程跑到深圳来应聘,本科生底薪是1500起价,而这个工资在深圳都不够生活费。
----------------------------------------------------------------------------------------------
当前大学生就业形势分析
1供需差别大:
岗位增36%学生增130%
毕业生供需矛盾突出是近年来社会公认的大学生就业难的一个直接原因。从2001年至2005年,全国高校毕业生从114万增加到338万,是扩招前的3倍
2选材要求高:
应届生就业不吃香
在大学毕业生“就业难”的同时,用人单位也普遍存在着“选材难”。一企业投资管理有限公司每年招收的1000名员工中,只有40名是大学应届毕业生;一印刷有限公司的代表说,“尽管我们公司的栋梁和骨干全是大学生,企业的发展离不开大学生,但是,我们每年基本上不要应届大学生”。
3专业相同的人多:
热门专业人才过剩
近年来,一些工科院校和具有专业特色的学校追求综合发展,纷纷上马热门专业,致使这些专业的毕业生就业难度加大。
北京高校毕业生就业指导中心主任任占忠认为,对于近年来盲目上马、目前就业较困难的专业,应坚决按教育部规定,区别具体情况减少或停止招生。
4薪酬逐年降低:
市场只给1700元/月
这次关于大学生薪酬期望值的问卷调查结果显示,有66.4%的本科毕业生希望自己的月薪在2000元以上,但据北京和上海有关机构的调查结果显示,大学生月薪的市场值平均为1600~1700元/月,毕业生的期望值显然高出社会现实水准,也导致部分大学生“有业不就”。
5骗子,假招聘铺天盖地:
有效招聘信息数量减少,许多骗子利用大学生求职心切和缺乏社会经验的弱点进行坑蒙拐骗。
一些企业利用当前大学生供过于求的形势,推出假招聘,先给出诱人的待遇条件,然后以培训等名义收取费用,再以试用不合格等理由辞退学生。大学生就业的招聘信息表面看渠道多,但有效的、实用的信息并不多,大学生获取真实有效的信息少,导致就业难。
6缺乏工作经验:
教授多“教练”少
调查显示,大学生求职中遇到的最大困难是“缺乏工作经验”,占63%。我国的教育体制多年来按照一种模式培养人才,专业设置脱离社会需求,不注重学生实际能力的培养。大学生有的是专业知识,缺的是良好心理素质、礼仪和法律观念,大学里有的是教授,缺的是“教练”。
7怕吃苦,爱面子:
许多企业反映,大学生做事眼高手低,知识脱离实际,不愿从基层做起,缺乏吃苦耐劳精神,比较爱面子,怕从事底层的工作被朋友亲戚看不起,人际沟通能力差,比较自私,因此不愿意接收应届大学生。
8频繁跳槽:
大学生就业后稳定性差,是造成企业不愿意接收大学生的另一重要原因。
企业接收大学生后一两年内流失率在30%以上的达到被调查企业总数的50%。甚至像联想集团这样的大型企业,也认为他们为大学生高流失率“交的学费太高”
-------------------------
据调查,目前大学生就业存在几个比较突出问题。
就业率呈下降的趋势。国家对大学毕业生取消统一分配派遣,实行自主择业以来,大学毕业生的就业率呈逐年下降趋势。
就业渠道不畅。据对调查,反映最多的问题就是对就业的信息不了解或了解很少。他们呼吁学校、政府人事和教育主管部门多联系企业和用人单位,多提供就业信息。另外,信息网站缺乏全面、具体的信息,很多就业信息迟缓,影响毕业生就业。
实践与理论缺乏紧密联系。大学毕业生反映,现在很多企业单位都要求大学毕业生有一定的实践经验,有动手的能力。但是,现在的一些高等院校,注重了知识的学习忽视了实际工作技能的锻炼和提高。
这里说下个人观点:很多毕业生都不理解,没有工作那里来的工作经验呢?但只有工作后才能真正理解,工作经验对工作真的非常重要,对主管来说有工作经验的真的省事省心不少(有工作经验的人交待的事情只需说明想要的结果就行了,但没有经验的人却要说很多次才能明白),如果我是主管招聘手下我也会会优先考虑有工作经验或项目经验的人。其实基础知识还是相当重要的,但实际工作确是对知识的应用和通过知识解决遇到的问题,可以说解决问题的知识才是真正的知识,也就是说把书本知识学透学活。
就业观亟待改变。在被调查的大学毕业生中,仍有部分毕业生的就业观念陈旧,期望值过高,不是先就业,后择业,再创业,而是凭空想象,一步到位,理想化。再就是攀比、讲条件,从而出现就业难。
大学生就业难度加大,这已是一个不争的事实,应引起社会各界高度关注。有关人士指出,为了促进大学生更好就业,可从以下几个方面作出努力。
加大就业宣传力度。要让大学生更多地了解社会、了解市场、了解需要怎样的人才,政府、学校要加强对大学毕业生就业方面的指导、培训,不能盲目地追求就业率。
扩大就业渠道。高校扩招后,大学生的就业问题已列入各级党委、政府的重要议事日程。只有大力发展经济,不断增加就业岗位,扩大就业渠道,才能从根本上解决大学生的就业问题。各级党委、政府要制定有利于大学毕业生就业的扶持政策,从人才管理、职称评定、岗位流动等方面制定出切实可行的办法,以有利于促进大学毕业生和就业为前提,充分发挥他们在科技创新、现代管理、信息技术等方面的作用。
大力挖掘就业信息,为大学生就业提供更多的途径和平台。各级政府人事、教育主管部门、学校等单位要多加强联系、协调,共同办好 “ 人才信息网”,注意经常搜集、更换、发布各类人才信息,努力实现人才信息网上招聘工作。同时,要不定期召开人才招聘会,拓宽大学生的就业渠道。
---------------------
理性分析:大学生就业形势
大学生就业难正日益成为一个社会问题,但我国的人才总量是缺乏的。据统计2003年我国大学生毕业生超过212万人,2004年将达到280万人。据预测,在2005年应届大学生毕业生很可能达到340万人。专家认为:大学生就业难的程度被夸大了——有关部门的统计显示,目前每年社会新增就业机会大约700万至800万个,而每年大学毕业生人数则大约在300万左右。就这一数据而言,大学毕业生理应有比较大的就业空间。但我国在疏通渠道和就业服务上有明显不足,也有很大拓展空间。一方面是民营企业、边远地区有很大需要,另一方面是目前的就业服务有很大的局限,尚未形成全国性的就业市场,大学生异地求职,信息不畅,成本太高。此外还有就业观念须转变的问题。
中国人民大学劳动人事学院院长曾湘泉在《中国就业战略报告2004》一书中指出,大学生就业难,主要表现在三个方面:
一是大学生需求增长速度赶不上大学毕业生增加的速度。与发达国家比较,美国约有2.7亿人口,大学近4000所,若要达到如此的比例和规模,中国需要办20000所大学;即使按照韩国目前高等教育的规模水平,中国也要办近10000所大学才够。国内总共才1000多所普通高校,即使算上成人和民办高校,也不过3000多所,大学在校生的人数还远远达不到国家战略发展的需求。
二是大学生的预期收入与用人单位提供的工资之间存在匹配上的困难。调查发现,我国应届大学毕业生收入预期高估幅度在40%左右,远远高于美国和欧洲等国的10%左右。薪水是人们对一份工作最基本的要求。在2003年北京团委组织的一次针对毕业生的调查中表明,大学生们对薪水要求并不低,在回答“您求职要求的工资底线”时,近六成(56%)人的选择集中在1000元到3000元之间,其中只有15%的人能接受每月挣1000-1500元,两成人可以接受自己的工资在1500-2000元,认为2000-3000元比较合理的占21%。
三是大学生大多选择在发达地区、高薪部门就业,愿到欠发达地区工作的较少。北京大学毕业生就业指导中心主任李国忠指出:“其实现在我国的很多地方还是很需要大学毕业生的,比如说基层单位、中西部地区、低收入的技术工作等等,从这个意义上讲,大学毕业生也并不过剩!”山东中医药大学校长王新陆认为,大学毕业生就业难并不是人才过剩,而是结构性问题,人才过剩只是相对的现象。有一项对3000余名本科毕业生的调查表明,首选到北京工作的高达74.8%,首选去中西部地区的仅有2%。这些毕业生的收入渴望值是每月2000至4000元,低于月薪2000元坚决不干。这就表明大学毕业生有主动不就业的可能性。北京某高校的调查表明,未找到接收单位的毕业生中,准备考研究生、博士生者占总人数的比例高达40.8%。同时,大学毕业生未签约就已就业的大有人在,他们很可能未列入已就业统计。原因可能是单位借口试用不愿签约;从事临时性工作;毕业生自主创业未能列入签约统计。
曾湘泉由此得出结论,真正就业困难的人在未签约中仅占少数。因此,从测量的角度来看,现行的初次就业率指标和数据所反映出来的走低,事实上夸大了大学生就业难这一现象。第一,主动不就业者,如想继续深造的人,属于退出劳动力市场的人员,不能算做失业;第二,非签约就业即隐性就业,事实上也是就业。两者一减一加,结果是:目前对大学生的名义就业率的统计低于实际的初次就业率,大学生的就业难度被夸大。
精英教育转向大众教育形势下必然发生碰撞,但中国农业大学党委书记,前教育部学生司司长认为:“就业压力加大,我国高等教育从国家整体需要看,我们目前的大学毕业生肯定不是多了。解决问题的一方面,需要学生认识到整体趋势,自觉调整就业期望,实事求是地评价自己。”作为福建新大陆科技集团董事长,王晶代表也希望毕业生了解社会对人才的需求,在求学期间有意识地培养自己的各方面能力。同时,也不要认为到基层、到企业就没有出路,“你看成功的企业家,有哪一个不是从最底层做起?”
对“大学生的就业难度被夸大”这一观点,中国劳动关系学院副教授王向前有些不同看法。他认为:大学生要高价,主动失业的现象在前几年比较多,但目前已经发生变化。王向前认为,要客观地看待大学生“要高价”的问题。他表示,由于大学毕业生多了,用人单位选择的余地大了,因而变得非常挑剔。用人单位为减少成本,增加竞争力,把大学生工资压得很低。据了解,他所在的学院,大专毕业生的最低工资期望值只有600元,本科毕业生也就是1000元。王向前说,大学生现在上学的成本是很高的,北京的大学一年全部费用约1.2万元,包括学费、住宿费、伙食费、交通费、服装和课外书等。学生家庭支付或学生本人打工挣钱都很不容易。学生参加工作后,有的要还银行助学贷款或给付出学费的家庭一些回馈,这都是必须的支出,都要挣较多的钱来应付。而且,大学生工作后还有住房问题、婚姻问题需要解决,都需要很大的开支。因此,不能盲目地说他们“要高价”。大学生就业难不但是事实,而且解决他们就业难问题需要社会各方面的相互配合。
一、当前就业形势
困难与问题
2003年是中国高校扩招后本科学生毕业的第一年,全国共有高校毕业生212.2万人,比2002年增加67万人,增幅达46.2%,就业形势十分严峻。
◎2004年我们国家的本科毕业生就有280余万人,比2003年增加68万人,就业形势依然严峻
◎2005年全国普通高校毕业生人数预计将达到338万人,比2004年增加58万人,增幅达20.71%,就业形势严峻。
问题
1.总量矛盾与结构矛盾并存,城镇就业压力加大和农村富余劳动力向非农领域转移速度加快同时出现,新成长劳动力就业和失业人员再就业问题相互交织:
总量:每年城镇劳动力供给2400万人,可安排约1000万,缺口1400万。
结构:行业、素质供求矛盾。
城乡:农村富余劳动力1.5亿人。
失业人员、新成长劳动力:城镇登记失业人员800万人(其中失业保险金领取者440万人);大学毕业生280万人。
2.严重不足的就业需求:
(1)从社会对就业岗位的需求角度看,1978-2002年的25年间,我国的就业弹性总体上呈现逐年下降的趋势,经济增长对就业增长的贡献越来越弱。在20世纪80年代,我国国内生产总值每增加1%,平均可以增加200万个就业机会;进入90年代,经济每增长1%,却仅能提供约80万个就业机会。
(2)根据有关预测,我国的经济增长率能够在20年内维持在8%左右的水平,这固然能够使我国经济进一步繁荣,但从近期的角度看,就业需求的增长极其缓慢,无法满足上述巨大的就业供给数量。
二、当前劳动力市场职业供求状况分析
2004年第三季度部分城市劳动力市场职业供求状况
115个城市的地区分布情况:
115个城市分布在全国各大区域,拥有市区人口1.64亿人,占全国地级以上城市市区人口的63%;拥有市区从业人员(含城镇个体劳动者)近6190万人,约占全国地级以上城市市区从业人员的71%。
2004年第三季度,全国115个城市劳动力市场主要表现出以下几方面特征:
总量上看,劳动力市场上求职者供大于求;
从产业需求看,第三产业的劳动力需求占2/3,第二产业需求占近1/3。
从用人单位性质看:企业用人占95.5%。其中私营及个体企业、股份制企业、三资企业的用人需求占多数,所占比重分别为37%、23%和15%,三者合计达75%。其余为国有、集体、联营企业分别占5%,其他类型企业占11%。机关事业单位用人占1%,其他单位占3.5%。
从性别来看:
求人倍率男性为0.88,女性为1.03
全国部分城市人才市场2004年三季度供求状况:
职位需求比为 2.2 : 1
招聘数量前十位的专业:
市场营销,计算机,机械,管理工程,建筑,企业管理,文秘,通信工程,金融,财会。
以上10个专业占招聘总数的66%。
求职者数量前十位的专业:
计算机,市场营销,机械,管理工程,建筑,文秘,通信工程,财会,企业管理,金融。以上10个专业占求职总数的70%。
人才市场主要特点:
供求状况平稳;
用人单位要求提高:
1. 需求:研究生9%,本科47%,大专及以下43%
2. 求职:研究生6%,本科44%,大专及以下50%
3. 职位需求比:研究生1.5:1;大专及以下2.6:1
扩招好些年了.到底是好是坏呢?是为了提高形式还是为了什么?
-------------------------------
2006年7月16日,由共青团中央学校部、北京大学公共政策研究所合作完成“2006年中国大学生就业状况调查”结果公布,该调查涉及的样本包括全国近百所高校的6000多名大学本科毕业生。
[签约]
调查结果显示,截至5月底,2006届本科毕业生中已签约和已有意向但未签约的占49.81%,不想马上就业的占15.02%,而没有找到工作的比例为27.25%,而北京高校生已签约和已有意向但还没有签约的比例达到了60.37%。
[专业]
调查结果显示,农学、管理学和工学的就业率排在前三位,分别为78.38%,58.02%和55.44%。而一直很热门的法学和医学专业,就业率只有37.85%和31.01%,属于后三位之列。
[薪酬]
调查结果显示,在薪酬预期上,有六成以上(66.10%)的大学生将月收入定位在1000元-2000元,甚至还有1.58%的学生愿意“零工资”就业。而在调查中,77.3%的用人单位却认为大学生仍存在期望过高的现象,主要表现在薪酬、地域、个人发展机会和要求专业对口等方面。其中,在就业地区的选择方面,大学生“重东部,轻西部”、“重大城市,轻中小城市和农村”的想法仍没有得到明显改观。
[方式]
调查结果显示,长期以来人们一直讳言人际关系网络对于用人环境的影响,但此次调查显示,人际关系网络仍是大学生进入就业市场、寻找就业机会的理想途径。有41.61%的学生认为,通过家庭和个人社会关系、托熟人是最有效的求职途径。
[企业]
报告中显示,有77.3%的用人单位认为大学生存在期望值过高的情形,主要表现在薪酬、地域、个人发展机会、职位要求、行业要求、假期要求和要求专业对口等方面。
[问题]
接受问卷调查的大学生普遍认为,缺乏工作经验成为就业最大的门槛。有59.1%的用人单位认为当前大学的课程设置不合理,其中50%的用人单位明确提出,当前大学的课程设置不合理,制约了大学生就业。
[态度]
调查结果显示,64.09%的大学生认为,在大学期间要更重视自身能力的全面培养和调整个人心态,而27.14%的大学生则以降低择业标准作为解决就业问题的方法。即使在经历了求职过程中的一些挫折后,也有高达76%的学生认为“找工作的过程是一次必要的人生历练,可以丰富人生经验并使自己更成熟”。
[其它]
同时调查结果显示,七成企业不看重外语能力。在受访的44家企业中,只有四分之一的企业看重外语能力,而要求最多的是环境适应能力和人际交往能力,这些都在60%左右。企业对毕业生自我表达能力和专业能力的要求,也都在50%左右。
-------------------------------
大学生就业难的原因
原因一 高校扩招影响
虽然国家已经停止了扩招,但是这几年扩招的影响依然存在。2001年我国高校毕业生为115万,2002年145万,2003年212万,2004年280万,2005年380万,4年内增加了223万。仅就广东省而言,2004年高校毕业生为13.2万人,2005年为16.5万人,今年广东省内普通高校应届毕业生将首次突破20万人,加上来广东“淘金”的外省院校毕业生,预计今年在省内求职谋业的普通高校应届毕业生将超过30万人。
再来看全国大学生待业的人数:2001年34万大学生待业,2002年37万,2003年52万,2004年69万,2005年达到79万,今年还是一个不容乐观的未知数。
原因二 学生就业渠道不畅
目前的就业渠道无非是学校推荐、熟人介绍、校园和社会的招聘会、人才或就业网站、报考公务员,服务西部等。但是,学校推荐一般是学生干部或成绩突出者才有机会;报考公务员受专业、志趣、是否党员限制,这些只适用于特定人群。对大多数人来说,网站和招聘会才是最主要的就业渠道,还不能满足毕业生的需求。
原因三 企业用工制度不合理
记者采访发现,一些私营企业用工制度极不合理,不但不和员工签订劳动合同,而且社会保险、养老金、公积金等一系列社会福利也没有。另外,起薪较低,升幅不大,并伴有苛刻的罚款制度,让大学生确实受不了。同时,用人单位还设置经验、性别等障碍拒绝应届毕业生。拒绝的理由有动手能力差、需花费培训费用、稳定性不高等等。用人单位在招人时追求实用和低成本,存在眼光短视和心态浮躁的情况。
原因四 高校专业设置错位
一些大学的专业及课程设置有较大盲目性,专业趋同现象十分严重,造成供给严重大于需求。一些学校仍然沿袭传统的应试教育的教学方式,培养出来的一些学生高分低能。不少学校专业划分过细,难以跟上市场变化的步伐。
一些高职、高专教育专业缺乏特色,培养出来的学生理论功底不系统,应有的动手能力也不强。而用人单位对应聘者的实际操作能力、适应工作环境变化的能力提出了越来越高的要求。
原因五 学生缺乏就业培训机会
不少企业拒绝承担大学生就业后的“在岗培训”费用,招聘中普遍要求有“数年工作经验”。事实上,一个理工科毕业的大学生,需要在毕业后的工作岗位经过一定时间的继续学习,才能成为一个合格的工程师。要达到这一要求,只能是大学生个人和家庭承担,而如果把“在岗培训”转移到学校里面去完成的话,在时间和金钱上都将是非常不经济的。
原因六 学生仍然期望过高
大学生就业理念也存在一些误区,如“宁到外企做职员,不到中小企业做骨干”“创业不如就业”,“就业难不如再考研”等。此外,据2006年大学生就业调查报告显示,目前六成大学生月薪期望值低于2000元。但近八成的用人单位却认为大学生仍存在期望过高的现象,主要表现在薪酬、地域、个人发展机会、职位要求、行业要求、假期要求和要求专业对口等方面。
而不少大学生对此感到很委屈,由于低工资难以满足他的基本生存需要,也往往不能对他形成足够的工作激励,结果必然带来就业的多次选择和用人单位对大学生的戒备心理。
原因七 学生缺乏求职技巧
用人单位表示,部分学生在求职时往往表现得不够自信,过分紧张,回答问题时支支吾吾,表现不出自己的实力。更有一些求职者面试时弄虚作假,企图欺骗蒙混过关,谁知很快就被有经验的用人单位拆穿,不得不再次承受面试失败的惨痛教训。而这样久而久之,用人单位也会觉得大学生不诚信而丧失信心。
原因八 市场对白领需求不足
由于中国国际分工地位的处于国际分工的底部,新增加的劳动就业岗位,主要是劳动密集型的就业岗位,使得中国就业上呈现“白领需求不足”的状况,这是中国大学生就业难的主要原因。这一问题的存在,使得中国的大学生就业岗位与扩招之后的庞大毕业生数量之间,形成巨大的落差,而且还将因此降低大学生的谈判地位,引发其他严重问题。
原因九 文科教育质量低下
由于教学内容,几乎不针对中国的政治经济现实,学生经过大学数年的学习之后,对于现实社会的状况仍然是十分隔膜,这也严重不利于学生的就业。大学扩招过程中间,教师的知识结构仍然是非常陈旧,授课内容政治化空洞化。
大学生自身存在的问题:
1、考证存在盲目性:企业问卷调查显示,企业在选择“看重哪种证书”选项时全部都选为“零”,可见企业对证书的信赖度并没有大学生想象的那么高。原因是,如今证书种类繁多,加上近年来各种培训机构层出不穷。其中又以短期培训和针对应试的居多,企业面对这支日益壮大的“考证大军”产生疑虑——持证人是否真的具有相应能力?因此相比证书,企业更看重个人素质和实际操作的能力。
2、先就业后择业渐流行:就业态度的变化,能从一个方面反映市场上人才供给的情况。在当前,大学生就业比较困难的情况下,“先就业再择业”的态度成了多数毕业生的首选。
3、对企业不够了解:大多数大学生并不了解自己想要进入的公司发展前景、用人制度、企业文化、人际关系等等,有一部分学生对以后自己即将在一个什么样的平台上迈出人生第一步只有模糊的概念,甚至根本没有目标。
4、对薪酬的期望更加现实:学生对于薪酬的看法更加现实了,高校学生期望月薪1000-4000元的占总人数的68%左右,其中2000-3000元为更多学生接受;2000-4000元的期望人数居多;1000-2000元及4000元以上的期望人数较少。
5、职业规划意识不够强:相比于过去,今天的大学生就业观念已发生很大的变化,这和我们国家经济发展的趋势、人才市场的逐渐完善、选择多元化的趋势相吻合。很多大学本科在校生对于以后的就业有模糊的打算,还有一些没有做任何的打算,而真正有明确规划的人却只占很少的一部分。
6、大学生自主创业的现状:大学生对创业的认识不全面,甚至存在明显的缺陷,其中重要的一点就是缺少管理经验,对行业缺少深度认识,对市场和营销缺少深入了解。
----------------------
2008年1月1日起施行的新劳动法对就业的影响分析,主要关注下变化最大的合同订立问题(个人分析):
第十四条 无固定期限劳动合同,是指用人单位与劳动者约定无确定终止时间的劳动合同。
用人单位与劳动者协商一致,可以订立无固定期限劳动合同。有下列情形之一,劳动者提出或者同意续订、订立劳动合同的,除劳动者提出订立固定期限劳动合同外,应当订立无固定期限劳动合同:
(一)劳动者在该用人单位连续工作满十年的;
(二)用人单位初次实行劳动合同制度或者国有企业改制重新订立劳动合同时,劳动者在该用人单位连续工作满十年且距法定退休年龄不足十年的;
(三)连续订立二次固定期限劳动合同,且劳动者没有本法第三十九条和第四十条第一项、第二项规定的情形,续订劳动合同的。
用人单位自用工之日起满一年不与劳动者订立书面劳动合同的,视为用人单位与劳动者已订立无固定期限劳动合同。
第十九条 劳动合同期限三个月以上不满一年的,试用期不得超过一个月;劳动合同期限一年以上不满三年的,试用期不得超过二个月;三年以上固定期限和无固定期限的劳动合同,试用期不得超过六个月。
同一用人单位与同一劳动者只能约定一次试用期。
以完成一定工作任务为期限的劳动合同或者劳动合同期限不满三个月的,不得约定试用期。
试用期包含在劳动合同期限内。劳动合同仅约定试用期的,试用期不成立,该期限为劳动合同期限。
第二十条 劳动者在试用期的工资不得低于本单位相同岗位最低档工资或者劳动合同约定工资的百分之八十,并不得低于用人单位所在地的最低工资标准。
第二十一条 在试用期中,除劳动者有本法第三十九条和第四十条第一项、第二项规定的情形外,用人单位不得解除劳动合同。用人单位在试用期解除劳动合同的,应当向劳动者说明理由。
第二十六条 下列劳动合同无效或者部分无效:
(一)以欺诈、胁迫的手段或者乘人之危,使对方在违背真实意思的情况下订立或者变更劳动合同的;
(二)用人单位免除自己的法定责任、排除劳动者权利的;
(三)违反法律、行政法规强制性规定的。
对劳动合同的无效或者部分无效有争议的,由劳动争议仲裁机构或者人民法院确认。
第二十七条 劳动合同部分无效,不影响其他部分效力的,其他部分仍然有效。
第二十八条 劳动合同被确认无效,劳动者已付出劳动的,用人单位应当向劳动者支付劳动报酬。劳动报酬的数额,参照本单位相同或者相近岗位劳动者的劳动报酬确定。
第三章 劳动合同的履行和变更
第二十九条 用人单位与劳动者应当按照劳动合同的约定,全面履行各自的义务。
第三十条 用人单位应当按照劳动合同约定和国家规定,向劳动者及时足额支付劳动报酬。
用人单位拖欠或者未足额支付劳动报酬的,劳动者可以依法向当地人民法院申请支付令,人民法院应当依法发出支付令。
第三十一条 用人单位应当严格执行劳动定额标准,不得强迫或者变相强迫劳动者加班。用人单位安排加班的,应当按照国家有关规定向劳动者支付加班费。
第三十二条 劳动者拒绝用人单位管理人员违章指挥、强令冒险作业的,不视为违反劳动合同。
劳动者对危害生命安全和身体健康的劳动条件,有权对用人单位提出批评、检举和控告。
第三十三条 用人单位变更名称、法定代表人、主要负责人或者投资人等事项,不影响劳动合同的履行。
第三十四条 用人单位发生合并或者分立等情况,原劳动合同继续有效,劳动合同由承继其权利和义务的用人单位继续履行。
第三十五条 用人单位与劳动者协商一致,可以变更劳动合同约定的内容。变更劳动合同,应当采用书面形式。变更后的劳动合同文本由用人单位和劳动者各执一份.
第四章 劳动合同的解除和终止
第三十六条 用人单位与劳动者协商一致,可以解除劳动合同。
第三十七条 劳动者提前三十日以书面形式通知用人单位,可以解除劳动合同。劳动者在试用期内提前三日通知用人单位,可以解除劳动合同。
第三十八条 用人单位有下列情形之一的,劳动者可以解除劳动合同:
(一)未按照劳动合同约定提供劳动保护或者劳动条件的;
(二)未及时足额支付劳动报酬的;
(三)未依法为劳动者缴纳社会保险费的;
(四)用人单位的规章制度违反法律、法规的规定,损害劳动者权益的;
(五)因本法第二十六条第一款规定的情形致使劳动合同无效的;
(六)法律、行政法规规定劳动者可以解除劳动合同的其他情形。
用人单位以暴力、威胁或者非法限制人身自由的手段强迫劳动者劳动的,或者用人单位违章指挥、强令冒险作业危及劳动者人身安全的,劳动者可以立即解除劳动合同,不需事先告知用人单位。
第三十九条 劳动者有下列情形之一的,用人单位可以解除劳动合同:
(一)在试用期间被证明不符合录用条件的;
(二)严重违反用人单位的规章制度的;
(三)严重失职,营私舞弊,给用人单位造成重大损害的;
(四)劳动者同时与其他用人单位建立劳动关系,对完成本单位的工作任务造成严重影响,或者经用人单位提出,拒不改正的;
(五)因本法第二十六条第一款第一项规定的情形致使劳动合同无效的;
(六)被依法追究刑事责任的。
第四十条 有下列情形之一的,用人单位提前三十日以书面形式通知劳动者本人或者额外支付劳动者一个月工资后,可以解除劳动合同:
(一)劳动者患病或者非因工负伤,在规定的医疗期满后不能从事原工作,也不能从事由用人单位另行安排的工作的;
(二)劳动者不能胜任工作,经过培训或者调整工作岗位,仍不能胜任工作的;
(三)劳动合同订立时所依据的客观情况发生重大变化,致使劳动合同无法履行,经用人单位与劳动者协商,未能就变更劳动合同内容达成协议的。
第八十五条 用人单位有下列情形之一的,由劳动行政部门责令限期支付劳动报酬、加班费或者经济补偿;劳动报酬低于当地最低工资标准的,应当支付其差额部分;逾期不支付的,责令用人单位按应付金额百分之五十以上百分之一百以下的标准向劳动者加付赔偿金:
(一)未按照劳动合同的约定或者国家规定及时足额支付劳动者劳动报酬的;
(二)低于当地最低工资标准支付劳动者工资的;
(三)安排加班不支付加班费的;
(四)解除或者终止劳动合同,未依照本法规定向劳动者支付经济补偿的。
-----------------
从上面节选部分可以看出新劳动法可谓处处为劳动者着想,让人感觉实什么都有保证了,不必担心试用期工资低,不必担心随便给辞退,不必担心劳动合同落实不了,不必担心经济补偿问题等等。
但企业是本质是赚钱,是赚取最大的利润,新劳动法无疑给企业尤其是大企业,老牌企业带来了很大的冲击,导致了像华为7000员工集体辞职后再签新的合同这类大动作,最近也频繁出现被裁员的员工集体游行示威的新闻(在深圳科技园就发生了不少),所以企业在招聘的过程中显然会慎重又慎重,一不小心,造成损失的可是企业。“宁可痛失一百良材,也不招错一个庸才”可想而知,无形中使本来就难的大学生就业难上加难。
而新法律催生的一个行业就是:劳务派遣,劳力外包,劳力外派公司的大量出现。劳务派遣某种意义上说就是职业中介,好比你交了30块中介费,元旦去他们安排的地方做了三天的促销员,结束后从他们那拿钱,也就是说,你的工资不是企业直接给你的,而是企业先给了中介,然后你从中介那拿的。中介从你的劳动中得到一部分回扣,而企业,避免了名目繁多的员工福利,节省了开支,不用太多的人力资源管理,做到灵活应需增加。这是企业和劳务派遣公司的双赢,从单次的交易来看对劳动者显然是不公平的,从长期来看对劳动者的好处就是不用自己去企业找工作去面试了(对变动比较大,任务时间不长的临时工来说比较有利),员工福利等由中介解决了。企业为了利润最大,显然乐意选择劳动派遣这种方式,尤其是it企业由于大部分是按项目进行的很多项目完成后就开始解散了,很多企业信息化做完ERP信息部门也差不多该解散了,所以新劳动法会带来很多限制,软件人才外包将会得到进一步的升温。
给IT人犯困支招——保持清醒十大高招
phpparty123 发表于 2008-07-17 13:20:24
昏头昏脑时,最简单的办法便是给自己泡一杯浓茶或者咖啡。这些饮料提神醒脑,从古至今都很有效。同时,从起身、洗杯子,到饮水机旁倒水,整个动作过程都会给你带来片刻的清醒。趁这段清醒,赶紧投入你的工作,但要注意的是茶杯不要乱放,否则一走神,洒得铺天盖地,你倒是真的要吓醒了。
饰品
美好的气味也有清醒头脑的作用。时常在办公室的桌上放一些清新怡人的香氛饰品或者干花,不仅使单调的办公环境得到点缀,也会让你不再昏昏欲睡。在精神不振的时候,闻一下,立刻觉得恍若置身于美丽的大自然中,闭上眼睛,办公室里的乏闷便消失得无影无踪。心情舒畅,自然精神也会焕发起来。当然,如果是快递送来的神秘鲜花,恐怕让你兴奋的就不仅仅是香味了。
做运动
有人说生命在于运动,又有人反驳说生命在于静止。其实绝对的运动或静止都不妥。办公室中三分动七分静最适宜。可针对办公地点的特点因地制宜编一些操,运动僵硬的颈脖、四肢,身体得到适度的活动之后便会有微微的兴奋感,头脑也会随之清醒不少。如果想更舒畅地伸展身体而又不便在狭小的办公室展开,可试着找到大楼防火隔离层,那儿地方够大,也不会有人干扰。只是千万别练得兴起,忘了办公室中也许还有个急匆匆的客户在等你。
调温度
有时候室温也是个很重要的因素。现代的办公条件,中央空调总是将冬日的OFFICE变得如春天一般的温暖。本来嘛,“春眠不觉晓”,这样的温度人是舒服了,却免不了昏昏欲睡。唯一的办法是:降温,开窗透气,外来的新鲜空气可能一下子会给你注入精神和活力,当然,也许有些怕冷的同事会抱怨,但是没关系,头脑一凉就清醒多了,跟他讲道理也会更有说服力,而更主要的是你已经度过了“瞌睡危险期”。
嚼薄荷糖
吃一片香口胶或者薄荷糖,无疑也有助于提神醒脑,当然最好是挑选无糖型而且口味特别强烈的那种。中午饭后,遇上同事都在,不妨每人发一圈。嚼着嚼着,一光提神,还优化了空气,使每个人不再有中午吃的鸡鸭鱼肉蒜的气味。口气清新,也有助于改善人际关系,喜欢与你聊天的人多起来,多说说话,自然也就不会想到去犯困。不过,吃口香糖得注意环保,将口胶弃置指定地点。最忌讳的是把它粘在办公室里的桌子底面。
去洗手间
洗手间是个好地方,绝对隐私。如果你实在克制不住地犯困,也没有别的办法可以止住,倒不如索性去洗手间。坐在里面打个5分钟的小盹,没有人会怪你渎职。同时,在进入办公室之前,你可以对着镜子梳洗一下。如果妆不是很浓,也不妨用凉水冲洗脸颊,同时做一些轻度的面部按摩,既有助于脸部的皮肤保养,也可以使自己更加清醒,而且你会惊奇地发现周围的人说你精神好多了。
想心事
这不算开小差,手头工作告一段落,可以在电脑前装模作样。回忆一些刻骨铭心的快乐或悲伤的事,也许是开心,也许会难过,但无论如何,你不会犯困了。但是关键的一点,你千万不可以沉浸其中,尽量不要去想那些烦心劳神的事,不然岂不是“刚出狼穴,又入虎口”?同时要注意的是:不要让别人发现你变幻的表情,否则你的精神就会受到怀疑。
打电话
打私人电话本来并不允许,但其实这是OFFICE中最屡禁不止的事,每间办公室里都会有人拿着电话,声音越来越小。所以掌握好时机和技巧,找几个自己喜欢的朋友聊聊天,或者给心爱的人打个慰问电话都可以。只是时间不宜过长,待到困劲一过,就得马上加倍努力干活。记住,在办公室里煲电话粥是第一大忌。
找经理
找经理,当然不是要你向他报告你犯困了。如果你和经理的位置比较近,(最好又是那些不大不小的经理),他对你构不成什么威胁,你也不是很怕他,那么就不妨找一些无伤大雅的事去“烦”他一下,比如向他问个电话什么的。要去见经理的人总是会振作精神,不会萎靡不振,也许不知不觉就把你的精神状态变好了。
去聊天
精神不好的时候,可以就近在办公室里找个人说说话。但是,说话聊天也许会给你带来负面的作用,所以找谁聊,怎么聊,而且又要有助于提神成为你的关键。除了找经理,还可以找你在办公室里比较有好感的一位异性,问一些有关工作事务,既无伤面子,又让别人抓不住工作偷懒的把柄。众所周知,在一个有好感的异性面前,你总是不自觉地打起了精神。
其实,犯困只是一个信号。若是并非一些特殊的原因,比如熬夜、加班或者较大的情绪波动和健康原因所致。那么你应该反省一下自己是否喜欢这份工作。如果是,那么投入地工作一定会使你精神焕发的。反之,你要考虑更重大的问题——换工作了。
>show_item("89454","sign");
超简单--PHP环境搭建最新方法 !
phpparty123 发表于 2008-07-16 13:37:13
安装:首先必须确认系统中已经安装了IIS,系统推荐:win2003服务器版,win2000专业版和xp系统不支持多用户IIS,虚拟主机管理系统无法进行管理,xp系统IIS存在问题调试程序会经常出现不正常。对于作网站和经常调试教本的朋友还是推荐使用win2003服务器版。把系统做好配置好玩游戏的话这两个系统都很不错的,有朋友说win2003系统很多功能都关闭了而且界面也没有XP好看,不适合个人用,其实这个东西只
需要您稍微改一下,把默认关闭的东西打开,就是一个很不错的个人电脑用的系统
(win2003系统的优化设置方法见:http://www.ie2004.net/jok/index1.htm)
安装说明:注意:php和mysql均安装到D盘,自己拥有服务器的朋友也建议这样安装
大致路径如下:
D:盘-----serv-u(只对服务器用户,本机调试免)
mail(只对服务器用户,本机调试免)
php
mysql
EfangVHost4.1(易方虚拟主机管理系统4.1)
E:盘-----www(IIS用户目录,存贮IIS用户数据或者本机调试数据)
1、PHP_setup.exe 安装到D盘PHP目录
完全自动安装自动配置,无需手工配置,解决初级用户不会设置PHP.INI的问题
此文件安装完IIS也会自动配置完成,无须手工更改。
2、将mysql-4.0.24-win文件夹拷贝到D盘,文件夹重命名为mysql
使用mysqladmin,更改默认密码。
当然也可以不更改,密码为空
进入命令提示符:进入D盘的mysqlin文件夹
mysql的初始管理帐号是root,没有密码
如果想把默认帐号root密码更改为:123456
则执行:mysqladmin -u root -p password 123456
其中password不用动,后面的123456是更改后的密码
回车以后会再次提示输入密码,不用改直接回车,密码就会变为123456
执行:mysql中BIN中的winmysqladmin.exe文件即可启动MYSQL
第一次需要添加一次默认的密码,此密码随意。
3、安装ZEND
安装路径默认,提示需要加速的WEB目录时选择你的WEB目录
比如WEB目录在E盘的WWW中,就选择e:www此过程需要执行两次
提示是否需要更改系统文件夹中的PHP.INI时,选择是。
4、安装虚拟主机管理系统:
默认安装路径为D盘,安装完执行文件夹中的“安装服务.bat”文件启动易方主机管理系统。
浏览器中执行http://127.0.0.1:9999即可登陆管理系统,默认用户名和密码都是admin
主机管理系统使用说明请到软件官方www.efang.com.cn下载
问题解释:
1、如何使系统支持PHP教本:执行安装中的PHP安装系统就可以自动支持。
2、MYSQL和主机管理系统的连接:将MYSQL启动。将虚拟主机管理系统安装到D盘
执行:D盘EfangVHost4.1文件夹中的“安装服务.bat”文件启动易方主机管理系统。
浏览器中执行http://127.0.0.1:9999即可登陆管理系统,默认用户名和密码都是admin
进入后选择“系统配置”-“安装设置MySQL”
第一次运行需要安装“安装ODBC_3.51.11驱动(MySQL) ”
然后填写主机地址:此地址默认不用更改(localhost),MYSQL用户名:root,
密码:(此密码为上面安装步骤2中更改后的密码,如果没有更改则密码为空)。
如果连接MYSQL成功会有一个成功的提示。
3、主机管理系统开通支持MYSQL和PHP的空间:
选择“主机类型”,编号处填写:ht01,并设置相应的参数,其中“站点目录”填写“e:www”
选择:支持MySQL
然后选择“创建站点”选择主机类型为:ht01
管理员帐号和密码随意。然后点击“创建站点”,成功后点击:“立即管理”
选择“数据库设置”中的“创建MYSQL数据库”
则此空间开通完毕并已经支持PHP和MYSQL。如果是本机调试,则需要进入此
空间的“IIS设置中”,把主机头的IP中填写进本机调试IP,比如:127.0.0.1
设置完成浏览器输入:127.0.0.1就可以显示站点开通成功的画面
4、win2003系统无法本机调试:
打开IIS,选择:“WEB服务扩展”,将“Active Server Pages”设置“允许”
将“应用程序池”中的默认池“DefaultAppPool”中的“标识”中
的“预定义帐户”更改为一下就可以了,一般都是“网络服务”。
5、我的PHP教本调试的有问题,想把MYSQL库删除重新调试怎么办?
很简单,进入mysql文件夹的data目录,删除刚才虚拟主机管理系统中自动建立的那个文件夹中的
文件即可,当然也可以在虚拟主机管理系统里把MYSQL建立的数据库删除重新建立。
php论坛服务器架构
phpparty123 发表于 2008-07-14 13:26:44
1、#cp httpd-2.0.47.tar.gz 到/usr/local/
2、#tar zxvf php-4.3.3.tar.gz
3、#cd php-4.3.3
4、#./configure --with-mysql --with-apxs2=/usr/local/apache/bin/apxs
#./configure -with-apache=/path/to/apache/dir -with-mysql=/usr/local/mysql
5、#make
6、#make install (一边等待一边保佑吧)
7 、#cp php.ini-dist /usr/local/lib/php.ini
8 、#vi /usr/local/apache2/conf/httpd.conf
9 、在AddType application/x-tar.tgz下面,添加以下内容:
AddType application/x-httpd-php .php
LoadModule php4_module /var/www/modules/libphp4.so (如果没有的话加上)
10 、#vi /usr/local/apache2/htdocs/test.php
<?
echo phpinfo();
?>
11 、浏览http://ip/test.php。出现php信息。恭喜这一步成功了。
PHP和Apache安装后的基本配置
1.Apache的配置
Apache的配置文件是/usr/local/apache2/conf/httpd.conf,编辑httpd.conf 文件,在文件结尾加上以下两行:
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php .php3
同时修改DirectoryIndex为:
DirectoryIndex index.htm
DirectoryIndex index.html
DirectoryIndex index.php
DirectoryIndex index.php3
DirectoryIndex index.php4
Apache的配置内容比较丰富,其它Apache相关配置请参考Apache的相关文档。
2.PHP的配置
Apache的配置文件是/usr/local/lib/php.ini,编辑php.ini文件来配置PHP的选项。特别注意的是,安装完成后register_globals变量默认设置为Off,需要将它改成On。否则会出现PHP读不到post的数据的现象。
zlib.output_compression=On
register_globals=On
其它PHP的选项请参考相关文档。
3.测试
可以写一个简单的PHP文件来测试安装,文件包含下列一行:
将其保存为/usr/local/apache2/htdocs/info.php,启动Apache,然后在浏览器中浏览。
PHP5的XML新功能剖析
phpparty123 发表于 2008-07-11 12:59:44
介绍
在当今的互联网世界,XML已经不再是一个时髦词了,它已经被广泛的接受和规范的使用了。因此相对于PHP4,PHP5对于XML的支持更受到了重视。在PHP4中你面对的几乎都是非标准,API中断,内存泄漏以及其它不完全的功能。尽管有些不足已经在PHP4.3中得到改进,开发者们还是决定抛弃原有的代码,在PHP5重写全部代码。
这篇文章将对PHP5中关于XML的所有令人激动的新特性逐一介绍。
PHP4 的 XML
早期的PHP版本就已经开始支持XML了,而这只是一个基于SAX的接口,它可以轻松的解析任何XML文档。随着PHP4中加入了DOMXML扩展模块,XML被更好的支持了。后来XSLT做为补充被加了进来。在整个PHP4的阶段,其它一些功能如HTML,XSLT和DTD验证也被加到了DOMXML扩展中,不幸的是,由于XSLT和DOMXML扩展始终处于实验阶段,API部分也被不止一次的修改,它们还是不能以默认方式安装。此外,DOMXML扩展没有遵循W3C制定的DOM标准,而有自己的命名方法。虽然在PHP4.3中这部分得到了改善并且许多内存泄漏和其它一些功能也得以修复,但它始终没有发展到一个稳定的阶段,一些深入的问题已经几乎不可能修复。只有SAX扩展被已默认方式安装,其它的一些扩展从未得到广泛的使用。
基于所有这些原因,PHP的XML开发者决定在PHP5重写全部代码,并遵循使用标准。
PHP5的XML
在PHP5中所有支持XML的部分几乎全部重新编写.现在的所有XML扩展都是基于GNOME项目的LIBXML2库。这将允许在不同的扩展模块之间互相操作,核心开发者只需要在一个底层的库上进行开发。例如,复杂的内存管理只实现一次就可以让所有XML相关扩展得到改善。
除了继承PHP4中闻名的SAX解析器之外,PHP5还支持遵循W3C标准的DOM和基于LIBXSLT引擎的XSLT。同时还加入了PHP独有的SimpleXML扩展和符合标准的SOAP扩展。随着XML越来越被重视,PHP开发者决定在默认安装方式中加入更多对XML的支持。这就意味着你现在可以使用SAX,DOM和SimpleXML,而这些扩展将会在更多的服务器上安装。然后对于XSLT和SOAP的支持,还需要在PHP编译时被显式的配置。
数据流的支持
现在所有的XML扩展都支持PHP数据流,即使你不从PHP中直接访问。例如,在PHP5中你可以从一个文件或从一条指令访问数据流。基本上你能够在任何可以访问普通文件的地方访问PHP数据流。
PHP4.3中简要的介绍了数据流,在PHP5中已经得到了进一步的提高,包含文件存取,网络存取和其它操作,如共享一套功能函数。你甚至可以使用PHP代码来实现你自己的数据流,这样数据存取将变得非常简单。关于这部分的更多细节请参考PHP文档。
SAX
SAX的全称是Simple API for XML,它是用于解析XML文档的接口,是基于回调形式的。从PHP3开始就已经支持了SAX,到现在也没有太大的变化。在PHP5中,API接口并没有改变,所以你的代码仍然可以运行。唯一不同的是它不再基于EXPAT库,而是基于LIBXML2库。
这个变化带来了一些对命名空间支持上的问题,这个问题在LIBXML2.2.6版本中已经得到解决。但是LIBXML2以前的版本中并没有解决,因此如果你使用了xml_parse_create_ns();强烈建议在你的系统上安装LIBXML2.2.6。
DOM
DOM (文档对象模型)是由W3C制定的一套访问XML文档树的标准。在PHP4可以使用DOMXML来对此进行操作,DOMXML的最主要问题是它不符合标准的命名方法。而且在很长一段时间内还存在内存泄漏问题(PHP4.3已经修复了这个问题)。
新的DOM扩展是基于W3C标准完成的,包含方法和属性名称。如果你在其它语言中熟悉DOM,例如在JavaScript中,那么在PHP中编写类似的功能将变得非常容易。你不必每次都查看文档,因为方法和参数都是相同的。
由于使用了新的W3C标准,基于DOMXML的代码将不能运行。在PHP中的API有很大的不同。但是如果你的代码中使用了类似W3C标准的方法命名方式,移植并不是很困难。你只需要将载入函数和保存函数修改,删除函数名中的下划线(DOM标准使用首字母大写)。其它各处的调节当然也是必须的,但是主要逻辑部分可以保持不变。
读取DOM
我不会在这篇文章中解释DOM扩展的所有特性,那也是没有必要的。或许你应该将HTTP://www.w3.org/DOM的文档加入书签。它与PHP5的DOM部分基本上相同。
在这篇文章的大多数例子中我们将使用同一个XML文件,zend.com上有非常简单的RSS版本。将下面的文本粘贴到一个文本文件中并保存为articles.xml。
http://www.zend.com/zend/week/week172.php
http://www.zend.com/zend/tut/tut-hatwar3.php
要将这个例子载入到一个DOM对象,首先要创建一个DOMDocument对象,然后载入XML文件。
$dom = new DomDocument();
$dom->load("articles.xml");
正像上面所提及的,你可以使用PHP的数据流来载入一个XML文档,你应该这样写:
$dom->load("file:///articles.xml");
(或者其它类型的数据流)
如果你想将XML文档输出到浏览器或做为标准标出,使用:
print $dom->saveXML();
如果你想把它保存成文件,请使用:
print $dom->save("newfile.xml");
(注意这样做会将文件大小发送到stdout)
当然这个例子没有太多的功能,让我们来做些更有用的。我们来取得所有的title元素。有很多方法可以办到,最简单的就是使用getElementsByTagName($tagname):
$titles = $dom->getElementsByTagName("title");
foreach($titles as $node) {
print $node->textContent . "n";
}
textContent属性并不是W3C标准,它可以让我们很方便的快速读取一个元素的所有文本节点,使用W3C的标准读取是下面这样:
$node->firstChild->data;
(这时候你要确保firstChild结点是你需要的文本结点,否则你还得遍历所有子结点来查找)。
另外一个要注意的问题是getElementsByTagName()返回一个DomNodeList,对象,而不是像PHP4中get_elements_by_tagname()那样返回一个数组,但是正像你在这个例子中看到的那样,你可以使用foreach语句轻松的遍历它。你也可以直接使用$titles->item(0)来访问结点。该方法将返回第一个title元素。
另一个取得所有title元素的办法是从根结点遍历,你可以看到,这个方法更复杂,但是如果你需要的不只是title元素的时候,这个方法也就更灵活。
foreach ($dom->documentElement->childNodes as $articles) {
//如果节点是一个元素(nodeType == 1)并且名字是item就继续循环
if ($articles->nodeType == 1 && $articles->nodeName == "item") {
foreach ($articles->childNodes as $item) {
//如果节点是一个元素,并且名字是title就打印它.
if ($item->nodeType == 1 && $item->nodeName == "title") {
print $item->textContent . "n";
}
}
}
}
XPath
XPaht 就像是XML的SQL,使用XPath你可以在一个XML文档中查询符合一些模式语法的特定结点。想使用XPath获得所有title结点,只需要这么做:
$xp = new domxpath($dom);
$titles = $xp->query("/articles/item/title");
foreach ($titles as $node) {
print $node->textContent . "n";
}
?>
这样和使用getElementsByTagName()方法差不多,但是Xpath要强大的多,例如,如果我们有一个title元素是article的子元素(而不是item的子元素),getElementsByTagName()就会将它返回。而使用/articles/item/title语法,我们只会得到在指定深度和位置的title元素。这只是一个简单的例子,再深入一点可能是这样:
/articles/item[position() = 1]/title 返回第一个item元素的所有
/articles/item/title[@id = '23'] 返回所有含有id属性并且值为23的title
/articles//title 返回所有articles元素下面的title(译者注://代表任意深度)
你也可以查询含有特殊兄弟元素的点,含有特殊文本内容的元素,或者使用命名空间等等。如果你必须大量的查询XML文档,适当的学习使用XPath会节省你很多时间,它使用简单,执行速度快,比标准的DOM需要更少的代码。
向DOM中写入数据
文档对象模型并不是只能读取和查询,你也可以操作和写入。(DOM标准有点冗长,因为编写者想尽量支持能够想像到的每一个环境,但是它工作的非常好)。看看下面这个例子,它在我们的article.xml文件中添加了一个新元素。
$item = $dom->createElement("item");
$title = $dom->createElement("title");
$titletext = $dom->createTextNode("XML in PHP5");
$title->appendChild($titletext);
$item->appendChild($title);
$dom->documentElement->appendChild($item);
print $dom->saveXML();
首先,我们创建了所有需要的结点,一个item元素,一个title元素和一个包含item标题的文本结点,然后我们将所有的结点链接起来,把文本结点加到title元素上,把title元素加到item元素上,最后我们把item元素插入到articles根元素上。现在,我们的XML文档中有一个新的文章列表了。
扩展类(class)
好了,上面的例子都可以在PHP4下面用DOMXML扩展来做(只是API有一些不同),能够自己扩展DOM类是PHP5的一个新特性,这使得书写更多可读性强的代码变得可能。下面是用DOMDocument类重新写的整个例子:
class Articles extends DomDocument {
function __construct() {
//必须调用!
parent::__construct();
}
function addArticle($title) {
$item = $this->createElement("item");
$titlespace = $this->createElement("title");
$titletext = $this->createTextNode($title);
$titlespace->appendChild($titletext);
$item->appendChild($titlespace);
$this->documentElement->appendChild($item);
}
}
$dom = new Articles();
$dom->load("articles.xml");
$dom->addArticle("XML in PHP5");
print $dom->save("newfile.xml");
HTML
PHP5中一个经常不被注意到的特性是libxml2库对HTML的支持,你不仅可以使用DOM扩展载入结构良好(well-formed)的XML文档,还可以载入非结构良好的(not-well-formed)HTML文档,把它当做标准的DOMDocument对象,使用所有能用的方法和特性,比如XPath和SimpleXML。
当你需要访问一个你无法控制站点的内容时,HTML的性能就显示十分有用了。在 XPath, XSLT 或 SimpleXML的帮助下,你省掉了许多代码,像使用正则表达式比较字符串或者SAX解析器。当HTML文档结构不是很好的时候,这个办法尤其有用(这是个频繁的问题!)。
下面的代码获得并解析php.net的首页,将返第一个title元素的内容。
$dom = new DomDocument();
$dom->loadHTMLFile("http://www.php.net/");
$title = $dom->getElementsByTagName("title");
print $title->item(0)->textContent;
请注意当指定元素没有找到时,你的输出可能会包含错误。如果你的网站还在使用PHP输出HTML4代码,有一个好消息要告诉你,DOM扩展不仅能载入HTML文档,而且还能将他们保存为HTML4格式的文件。在你添加完DOM文档后,使用$dom->saveHTML()来保存。要注意的是,为了使输出的HTML代码符合W3C标准,最好不用使用 整齐的扩展?(tidy extension)。Libxml2 库支持的HTML并不会考虑到每个可能发生的事情,也不能很好的处理非通用格式的输入。
验证
XML文档的验证越来越重要了。例如,如果你从一些国外资源中获得了一个XML文档,在你处理之前你需要检验它是否符合某个确定的格式。幸运的是你不需要在PHP中写自己的验证程序,因为你可以使用三个应用最广泛的标准之一(DTD,XML Schema 或RelaxNG)来完成它。.
DTD是一个产生于SGML时代的标准,缺少一些XML的新特性(如命名空间),而且由于它不是用XML写的,它也很难被解析和转换。
XML Schemai是由W3C制定的一个标准,它应用广泛,几乎包含了所有验证XML文档所需要的内容。
RelaxNG 是复杂的XML Schema标准的对头,是由自由者组织创建的,由于它比XML Schema更容易实现,越来越多的程序开始支持RelaxNG了
如果你没有遗留下来的计划文档或者非常复杂的XML文档,那么使用RelaxNG吧。它书写和阅读都比较简单,越来越多的工具也支持它。甚至还有一个工具叫Trang,它可以从XML范本中自动创建一个RelaxNG文档。而且只有RelaxNG(和老化的DTDS)被libxml2完全支持,尽管libxml2也即将完全支持ML Schema。
验证XML文档的语法相当简单:
$dom->validate('articles.dtd');
$dom->relaxNGValidate('articles.rng');
$dom->schemaValidate('articles.xsd');
目前,所有这些都只会简单的返回true或false,错误会被做为PHP警告输出。显然想返回给用户友好的信息这并不是一个好主意,在PHP5.0以后的版本里会有所改善。到底该怎么实现目前还在讨论之中,但是错误报告肯定会处理的更好。
SimpleXML
SimpleXML 是PHP的XML家族中最后一个被加入的成员,加入SimpleXML扩展的目的是为了提供一个使用标准对象属性和迭代器访问XML文档的更简单的方法。该扩展没有太多的方法,虽然如此它还是相当强大的。从我们的文档的取得所有title节点比原来需要更少的代码。
$sxe = simplexml_load_file("articles.xml");
foreach($sxe->item as $item) {
print $item->title ."n";
}
这是在干什么?首先将articles.xml载入到一个SimpleXML对象。然后取得所有$sxe中的item元素,最后$item->title返回title元素的内容,就是这样。你也可以使用关联数组查询属性,使用: $item->title['id']。
看到了吧,这后面真是太神奇了,有许多不同的办法可以得到我们想要的结果,例如, $item->title[0]返回和例子中相同的结果,另一方面,foreach($sxe->item->title as $item)只返回第一个title,并不是所有在文档中的title元素。(就像我在XPath中预期的那样)。
SimpleXML 实际上是使用了Zend引擎2新特性的第一个扩展。因此也成了这些新特性的测试点,你要知道在开发阶段bugs和不可预料的错误可不是少数。
除了上面例子中所使用的遍历所有节点的方法,在SimpleXML中也有一个XPath接口,它为访问单个结点提供了更简单的办法。
foreach($sxe->xpath('/articles/item/title') as $item) {
print $item . "n";
}
不可否认,这段代码也不比前面例子中的短,但是提供了更复杂或更深的嵌套XML文档,你会发现和SimpleXML一起使用XPath会节省你很多的输入。
向 SimpleXML 文档写入数据
你不仅可以解析和读取SimpleXML,而且还可以改变SimpleXML文档。至少我们加入一些扩展:
$sxe->item->title = "XML in PHP5 "; //title元素的新内容。
$sxe->item->title['id'] = 34; // title元素的新属性。
$xmlString = $sxe->asXML(); // 将SimpleXML对象做为序列化的XML字符串返回
print $xmlString;
互用协作性
由于SimpleXML也是基于libxml2库的,你可以在几乎不影响速度的情况下轻松的将SimpleXML对象转化成DomDocument对象。(文档不用进行内部复制),由于这个机制,你拥有了二个对象的最好部分,使用一个适合你手头工作的工具吧,它是这样使用的:
$sxe = simplexml_import_dom($dom);
$dom = dom_import_simplexml($sxe);
XSLT
XSLT是用来将XML文档转换为其它XML文档的语言,XSLT本身是用XML编写的,属于功能性语言家族,在程序处理上和面对对象语言(像PHP)有所不同。PHP4中有二种XSLT处理器:Sablotron(在广泛使用的XSLT扩展中)和Libxslt(在domxml扩展中),这两种API不互相兼容,并且使用方法也不相同。PHP5只支持libxslt处理器,之所以选择它是因为它是基于Libxml2的,因此也更符合PHP5的XML概念。
理论上将Sablotron绑定到PHP5上也是可能的,但是不幸的是没人来做。因此,如果你正在使用Sablotron,你不得不在PHP5中切换到libxslt处理器。Libxslt 是带有JavaScript异常处理支持的Sablotron,甚至可以使用PHP强大的数据流来重新实现Sablotron独有的计划处理(scheme handlers)。此外,libxslt 是 最快的XSLT处理器之一,所以你还免费得到了速度的提升。(执行速度是Sablotron的二倍)。
和本文讨论的其它扩展一样,你可以在XSL扩展,DOM扩展和vice versa之间交换XML文档,实际上,你必须得这么做,因为EXT/XSL扩展并没有载入和保存XML文档的接口,只能使用DOM扩展。一开始学习XSLT转换,你不需要掌握太多的内容,这里也不存在W3C标准,因为这个API中从Mozilla“借”过来的。
首先你需要一个XSLT样式表,将下列文本粘贴到一个新文件并且保存灰articls.xsl
然后用PHP脚本调用它::
/* 将XML和XSL文档载入到DOMDocument对象*/
$xsl = new DomDocument();
$xsl->load("articles.xsl");
$inputdom = new DomDocument();
$inputdom->load("articles.xml");
/* 创建XSLT处理器,并导入样式表*/
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$proc->setParameter(null, "titles", "Titles");
/* 转换并输出XML文档 */
$newdom = $proc->transformToDoc($inputdom);
print $newdom->saveXML();
?>
上面的例子首先使用DOM的方法load()载入XSLT样式表articles.xsl,然后创建了一个新的XsltProcessor对象,该对象导到了后面要使用了XSLT样式表对象,参数可以这样设置setParameter(namespaceURI, name, value),最后XsltProcessor对象使用transformToDoc($inputdom)开始转换并返回一个新的DOMDocument对象。
. 这个API的优点在于你可以使用同一个样式表转换许多XML文档,只需要将它载入一次然后重复使用它,因为transormToDoc()函数可以应用于不同的XML文档。
除了transormToDoc(),还有二个用于转换的方法:transformToXML($dom)返回一个字符串,transformToURI($dom, $uri)将转换之后的文档保存到文件或一个PHP数据流。注意如果你想使用XSLT的一个语法如 或 indent="yes",你不能使用transformToDoc(),因为DOMDocument对象 不能保存该信息,只能当你将转换后的结果直接保存到字符串或文件中时才能这样做。
调用PHP函数
XSLT扩展最后一个新加的特性是能够在XSLT 样式表内部调用任何PHP函数,主张正统的XML支持者一定不会喜欢这个功能(这样的样式表有点复杂,很容易混淆逻辑和设计),在某些地方却是十分有用的。当涉及到函数时XSLT就变得很有限,即使想实现用不同的语言输出一个日期也是非常麻烦的。但是使用这个功能,处理这些就和只使用PHP一样容易。下面是向XSLT添加一个函数的代码:
function dateLang () {
return strftime("%A");
}
$xsl = new DomDocument();
$xsl->load("datetime.xsl");
$inputdom = new DomDocument();
$inputdom->load("today.xml");
$proc = new XsltProcessor();
$proc->registerPhpFunctions();
// 载入文档并使用$xsl来处理
$xsl = $proc->importStylesheet($xsl);
/* 转换并输出XML文档 */
$newdom = $proc->transformToDoc($inputdom);
print $newdom->saveXML();
?>
下面是XSLT样式表datetime.xsl,它会调用这个函数。
下面是要使用样式表转换的XML文档,today.xml(同理,articles.xml也会得到同样结果)。
上面的样式表,PHP脚本和所有的XML文件会用当前系统设置的语言输出星期的名字。你可以给php:function()添加更多的参数,添加的参数会被传递给PHP函数。这里有一个函数php:functionString(),这个函数自动将所有输入的参数转换为字符串,所以你不需要在PHP里进行转换。
注意你需要在转换之前调用$xslt->registerPhpFunctions(),否则PHP函数调用将因为安全原因不会被执行(你始终相信你的XSLT样式表吗?)。目前访问系统还没有实现,也许在将来PHP5的版本中会实现这个功能。
摘要
PHP对XML的支持已经向前迈进了一大步,它符合标准,功能强大,互用协作性强,被作为默认选项安装,已被授权使用。新加入的SimpleXML扩展提供了简单快速访问XML文档的方法,可以节省你很多的代码,尤其是当你有结构化文档或者可以使用强大的XPath时。
感谢libxml2—PHP5 XML扩展所使用的底层库,使用DTD,RelaxNG或XML Schema验证XML文档现在已经被支持了。
XSL支持也得到了翻新,现在使用Libxslt库,比原来的Sablotron库在性能上有很大提高,而且,在XSLT样式表内部调用PHP函数可以让你写出更强大的XSLT代码。
如果你已经在PHP4或其它语言中使用了XML,你会喜欢PHP5的XML特性的,XML在PHP5中有了很大的变化,符合标准,和其它工具,语言是同等的。
链接
PHP 4 相关
Domxml 扩展: http://www.php.net/domxml/
Sablotron 扩展: http://www.php.net/xslt/
Libxslt: http://www.php.net/manual/en/function.domxml-xslt-stylesheet.php
PHP 5 相关
SimpleXML: http://www.php.net/simplexml/
Streams: http://www.php.net/manual/en/ref.stream.php
标准
DOM: http://www.w3.org/DOM
XSLT: http://www.w3.org/TR/xslt
XPath: http://www.w3.org/TR/xpath
XML Schema: http://www.w3.org/XML/Schema
RelaxNG: http://relaxng.org/
Xinclude: http://www.w3.org/TR/xinclude/
工具
Libxml2, the underlying library: http://xmlsoft.org/
Trang, a Schema/RelaxNG/etc converter: http://www.thaiopensource.com/relaxng/trang.html
关于作者
Christian Stocker是苏黎士Bitflux GmbH公司的创始人和CEO,他是XSL,DOM和imagick扩展的维护人员,德语书籍PHP de Luxe的合作作者,同时致力于其它开源项目,如Bitflux Editor和Popoon.。可以通用 language=JavaScript type=text/javascript> chregu@php.net. chregu@php.net. >和他联系。
